我应该使用哪个命令来缩小和优化 nodejs express 应用程序?

sam*_*108 4 deployment express web express-generator

我准备好使用 Express-generator sccafold 网站,需要发布它。我应该使用哪个命令来缩小文件并针对发布进行优化?而且,我应该上传哪些目录?

JRi*_*dsz 7

express-generator 是一个基于 express 框架的服务端渲染框架,而不是像 react、vue、angular 等客户端渲染,其中 minify 过程很常见。

这个问题:缩小 NodeJS 中使用的代码有意义吗?表明 nodejs 已经在对 nodejs 代码进行优化。

所以,如果我们谈论的是 express 应用程序,那么只有一个静态文件是可以缩小以提高性能的候选者。

即时缩小

在这种情况下,您可以像客户端框架(react、angular、vue 等)那样为您的生产环境执行手动构建过程

检查这个库:express-minify,我们可以在其中缩小几种类型的文件:

app.use(minify({
  cache: false,
  uglifyJsModule: null,
  errorHandler: null,
  jsMatch: /javascript/,
  cssMatch: /css/,
  jsonMatch: /json/,
  sassMatch: /scss/,
  lessMatch: /less/,
  stylusMatch: /stylus/,
  coffeeScriptMatch: /coffeescript/,
}));
Run Code Online (Sandbox Code Playgroud)

手动缩小

在这种情况下,你可以使用这个库uglify-js,但你需要一个策略来将这个优化的文件保存在一个临时文件夹中,比如 build、dist 等,就像客户端渲染框架(react、vue 等)那样

你可以这样做:

if(process.env.NODE_ENV==='PRODUCTION'){
  app.use(express.static(__dirname + '/static-optimized'));
}else{
  app.use(express.static(__dirname + '/static'));
}
Run Code Online (Sandbox Code Playgroud)

最后对每个文件执行 minify 过程:

uglifyjs ./static/my-code.js --output ./static-optimized/my-code.min.js
Run Code Online (Sandbox Code Playgroud)

为避免人工处理,可以写一个例程,遍历所有js文件,一一执行uglifyjs。这可能是package.json 中的构建脚本

加快快递速度的 6 种简单方法

来自:https : //stackabuse.com/6-easy-ways-to-speed-up-express/

  • gzip 压缩
  • 在生产模式下运行 Express
  • 使用 Uglify 缩小
  • 减少中间件
  • 增加最大插槽
  • 使用缓存控制

  • 对于像我这样的技术新手来说,这是一个非常有用的答案。我一直在努力弄清楚是否要为我相当简单的(客户端)应用程序使用所有这些捆绑工具,该应用程序在服务器上完成大部分繁重的工作。看起来我可以通过这个快速缩小来完成大部分我想做的事情! (2认同)