我正在尝试使用 node/express 为 React 应用程序提供 gzip 压缩文件,但我不断收到 1.2MB 的大文件,而不是 gzip 压缩的 300kb 文件。这是我正在使用的快速路线处理程序
router.get('/javascripts/bundle.js', function (req, res, next) {
console.log('ENVIRONMENT')
console.log(process.env.NODE_ENV);
if (process.env.NODE_ENV === 'production') {
req.url = req.url + '.gz';
res.set('Content-Encoding', 'gzip');
res.set('Content-Type', 'text/javascript');
console.log('request URL: ' + req.url);
}
next();
});
我正在检查以确保环境处于生产状态,但这些日志都没有显示在我的服务器日志(heroku 日志)中。查看 Chrome 中的网络选项卡,它显示 1.2MB
我缺少什么吗?
最佳答案
也许在另一个模块(如 app.js)中,您正在使用快速静态中间件,该中间件在请求到达您的自定义中间件之前捕获请求。 检查并注释掉(如果可以的话)
app.use(express.static(path.join(__dirname, 'public')));
关于node.js - Node Express 未提供 Gzip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46719410/