以下是我的要求电话:
require( ['config'], function( config ) {
require( ['main'] );
});
他们被压缩到一个已经压缩了config.js和main.js的CDN(AWS S3 + CloudFront)。
我的标题的相关部分:
浏览器:
Accept-Encoding:gzip,deflate,sdch
文件:
Content-Encoding:gzip
Content-Type:application/x-gzip
在Safari中,这很好用。在Chrome和Firefox中,我收到此错误:
资源解释为脚本但以MIME类型传输 application / x-gzip:“http://sample.com/config.js”。
它永远不会解压缩。 我已经尝试在require config中设置scriptType ='application / x-gzip',但这只会冻结。
有什么想法吗?
答案 0 :(得分:0)
解决方案实际上很简单,嗯!
在服务器端,我将content-type
设置为application/x-gzip
。这实际上是误导性的,因为这是在压缩之前描述内容(因此,在解压缩之后)。 content-encoding
是指定实际压缩步骤的那个。
要解决此问题,我只需将服务器端gzip文件中的content-type
设置为原始文件的相应类型:text/javascript
或text/css
等。