NGINX gzip没有压缩JavaScript文件

时间:2014-05-29 17:51:23

标签: nginx

所有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;

3 个答案:

答案 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/javascripttext/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;
相关问题