Javascript gzip上的require()';d文件返回错误的MIME类型错误

Javascript gzip上的require()';d文件返回错误的MIME类型错误,javascript,requirejs,compression,gzip,mime-types,Javascript,Requirejs,Compression,Gzip,Mime Types,以下是我需要的电话: require( ['config'], function( config ) { require( ['main'] ); }); 它们被路由到一个CDN(AWS S3+CloudFront),该CDN具有gzip config.js和main.js 标题的相关部分: 浏览器: Accept-Encoding:gzip,deflate,sdch 文件: 在Safari中,这很好用。在Chrome和Firefox中,我遇到以下错误: 解释

以下是我需要的电话:

    require( ['config'], function( config ) {
        require( ['main'] );
    });
它们被路由到一个CDN(AWS S3+CloudFront),该CDN具有gzip config.js和main.js

标题的相关部分:

浏览器:

Accept-Encoding:gzip,deflate,sdch
文件:

在Safari中,这很好用。在Chrome和Firefox中,我遇到以下错误:

解释为脚本但使用MIME类型传输的资源 应用程序/x-gzip:“”

而且它从不减压。 我曾尝试在require配置中设置scriptType='application/x-gzip',但这只是冻结了一切


有什么想法吗?

解决方案其实很简单,doh

在服务器端,我将
内容类型设置为
application/x-gzip
。这实际上是误导性的,因为它描述的是压缩之前的内容(因此,也是解压缩之后的内容)。
内容编码是指定实际压缩步骤的编码


为了解决这个问题,我只需将服务器端gzip文件上的
内容类型设置为原始文件的适当类型:
text/javascript
text/css
,等等。

我也尝试了require之外的文件,只是在普通的旧标签中,它们仍然不起作用。
Content-Encoding:gzip
Content-Type:application/x-gzip