我已经准备好一个 Express-generator sccafold 网站并且需要发布它。我应该使用哪个命令来缩小文件并针对发布进行优化?另外,我应该上传哪些目录?
问问题
2202 次
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 回答