5

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

4

1 回答 1

8

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/,
}));

手动缩小

在这种情况下,您可以使用这个库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'));
}

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

uglifyjs ./static/my-code.js --output ./static-optimized/my-code.min.js

为了避免手动处理,可以编写一个例程来迭代所有的js文件,并一个一个地执行uglifyjs。这可能是您的 package.json 中的构建脚本

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

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

  • gzip 压缩
  • 在生产模式下运行 Express
  • 使用 Uglify 缩小
  • 减少中间件
  • 增加最大插槽数
  • 使用缓存控制
于 2020-06-13T16:24:12.397 回答