如果我使用gzip压缩的JavaScript文件,Chrome和Firefox都会出现非法的字符/令牌错误

Joh*_*man 12 javascript firefox gzip google-chrome

我在MacBook上使用内置服务器.

说我的脚本是foo.js. 这适用于我的测试浏览器(Firefox 10,Chrome 17):

<script type="text/javascript" src="foo.js"></script>
Run Code Online (Sandbox Code Playgroud)

但是,如果我gzip文件,在将上面的行更改为此后,两个浏览器都会给我一个非法的令牌/字符错误:

<script type="text/javascript" src="foo.js.gz"></script>
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?类型是否需要更改或者其他什么?这种做法记录在哪里?每当我在网上看到它提到"压缩你的脚本!"时,没有人会提到你需要对链接做任何特别的事情.

Sjo*_*erd 11

Web服务器需要告诉浏览器内容是gzip压缩的.这是使用content-encoding标头完成的.也许您可以配置您的网络服务器为此标头提供以.gz结尾的文件.

网络服务器通常具有即时压缩文档的功能,而不是静态压缩文件.这意味着您将普通的foo.js文件放在文档根目录中,并将Web服务器配置为在将其发送到客户端时对其进行压缩.

  • 为什么要动态压缩静态资产?没有意义吧?在构建过程中压缩它们。 (2认同)