当我 运行 我的应用程序时出现 Angular2 GZIP 问题

Angular2 GZIP issue when I run my app

我有一个 angular2 typescript 应用程序。

我使用 Firebase 托管并使用 cloudflare 来提高速度、缓存和保护。

浏览器header说:accept-encoding:gzip, deflate, sdch, br

这被转换为 app.js 文件,现在缩小到 1.6mb。

然后我用 GZIP 压缩了这个 app.js 文件。

我想使用现在经过 GZIP 压缩的 app.js 文件,而不是原始的 1.6mb app.js 文件。因此,我在我的 index.html 页面中指向 app.js.gz 文件 ,我收到一个浏览器错误,名为:

app.js.gz:1 未捕获的语法错误:无效或意外的标记

下面是我的 app.js 文件和 index.html.

的屏幕截图

如果您需要更多信息或屏幕截图,请告诉我。

看来我需要做一些其他事情才能使其正常工作。 我是否需要做一些 cloudflare 设置来接受 .gz 文件或其他东西?

那些 gzip 是网络服务器的肉,它们可以使用 pregzip 文件,他们不必对每个请求进行 gzip 或缓存。 然后传输压缩的 js,browser/cloudflare 处理其余部分。所以你不必编辑脚本标签来使用 gzip 或不使用它。

但是对于来自 cloudflare 的少数请求,您可以简单地使用 nginx 并在那里启用 gzip(并且不要使用 .gz)。