Gzip文件没有与node express一起提供

时间:2017-10-12 21:50:20

标签: node.js reactjs express heroku gzip

我正在尝试使用node / express为反应应用程序提供一个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

有什么我想念的吗?

1 个答案:

答案 0 :(得分:3)

也许在另一个模块(比如app.js)中,您正在使用快速静态中间件来捕获请求,然后才能访问您的自定义中间件。 检查并注释掉(如果可以的话)

app.use(express.static(path.join(__dirname, 'public')));