所有JavaScript文件都不会被nginx gzip压缩。
CSS文件正在运行。
在我的nginx.conf
中,我有以下几行:
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_proxied any;
gzip_buffers 16 8k;
gzip_types text/plain application/x-javascript text/xml text/css;
gzip_vary on;
答案 0 :(得分:135)
更改此行:
gzip_types text/plain application/x-javascript text/xml text/css;
要成为这样:
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
请注意在您的gzip类型列表中添加了application/javascript
和text/javascript
。
在答案posted here中还有更多详细信息和更广泛的gzip类型列表。
答案 1 :(得分:6)
这很有趣,因为浏览器中javascript的最佳支持,旧标准mime类型实际上是text / javascript。如果你配置它,在List<Objetc[]>
中就可以了。
text / javascript(已淘汰):JavaScript;在RFC 4329中定义并过时,以阻止其使用以支持application / javascript。但是,HTML 4和5中允许使用text / javascript,与application / javascript不同,它具有跨浏览器支持。 HTML5中标记的“type”属性是可选的,根本不需要使用它,因为所有浏览器都始终采用正确的默认值(即使在规范要求的HTML 4中)。
从这个帖子:text/javascript vs application/javascript
所以nginx的gzip模块是根据以前的标准构建的,显然不能正确处理application / javascript mime类型。
答案 2 :(得分:0)
为我工作(nginx):
gzip on;
gzip_disable "msie6";
gzip_comp_level 6;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_proxied any;
gzip_types
text/plain
text/css
text/js
text/xml
text/javascript
application/javascript
application/x-javascript
application/json
application/xml
application/rss+xml
image/svg+xml/javascript;