Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么express服务器不提供压缩的.gz文件?_Javascript_Node.js_Reactjs_Webpack_Compression - Fatal编程技术网

Javascript 为什么express服务器不提供压缩的.gz文件?

Javascript 为什么express服务器不提供压缩的.gz文件?,javascript,node.js,reactjs,webpack,compression,Javascript,Node.js,Reactjs,Webpack,Compression,我有一个快速配置: ..... const app = module.exports = express(); app.get('*.js', function(req, res, next) { req.url = req.url + '.gz'; res.set('Content-Encoding', 'gzip'); res.set('Content-Type', 'text/javascript'); next(); }); app.use('/', express

我有一个快速配置:

.....

const app = module.exports = express();

app.get('*.js', function(req, res, next) {
  req.url = req.url + '.gz';
  res.set('Content-Encoding', 'gzip');
  res.set('Content-Type', 'text/javascript');
  next();
});

app.use('/', express.static(__dirname + '/public'));

....
我的webpack配置似乎是正确的,因为public/views中的所有js块都是用gzip创建和压缩的

|public
    |views
        |...
        |hash.chunk.js
        |hash.chunk.js.gz
        |....
但是,服务器会继续提供未使用gzip压缩的js块

你知道为什么吗

编辑


当我删除我的原始js块(未压缩)时,我仍然可以加载网站。这应该意味着压缩的gzip文件被提供了,不是吗?但是,当我在chrome开发工具中检查任何块的响应头时,没有头:Content encoding:gzip
res.set('Content-Type','text/javascript')-JavaScript的正确内容类型是
application/JavaScript
。当我检查google开发工具时,我有这种类型的响应头:HTTP/1.1 304未修改X-Powered-By:Express Accept Ranges:bytes Cache Control:public,max age=0上次修改:2018年5月28日星期一17:06:04 GMT ETag:W/“f2a4-163a7b6c97d”日期:2018年5月28日星期一17:11:47 GMT连接:keep alive哪一个似乎不提供gzip文件?我没有任何标题:内容编码:gzipOf当然你没有。状态为
304未修改
,因此响应中没有描述编码的内容。浏览器将使用已经缓存的版本。哦,当然!那就行了:)谢谢!