javascript - 我运行应用程序时出现 Angular2 GZIP 问题

标签 javascript angular gzip systemjs cloudflare

我有一个 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 未捕获的语法错误:无效或意外的 token

下面是我的 app.js 文件和 index.html 的屏幕截图。

enter image description here

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

看来我需要做点别的事情才能让它发挥作用。 我是否需要进行一些 cloudflare 设置才能接受 .gz 文件或其他文件?

最佳答案

这些 gzip 对于可以使用预压缩文件的网络服务器来说是很重要的,他们不必在每次请求时都对其进行 gzip 压缩或缓存它。 然后它传输的 js 被压缩,浏览器/cloudflare 处理其余的事情。因此,您不必编辑脚本标签即可使用 gzip 或不使用它。

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

关于javascript - 我运行应用程序时出现 Angular2 GZIP 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41047617/

相关文章:

javascript - 关于集群消息触发类函数

javascript - 下划线模板 : Partials or includes

c - 使用 C 提取 GZip 数据

node.js - 如何在 Sails.js 中 gzip JavaScript 和 CSS Assets ?

javascript - 使用 -g 标志时 Node.js 总是给出错误

javascript - 在 VS 2013 的 MVC 中使用 Foundation Zurb 时样式不起作用

angular - 什么时候使用 Ngzone.run()?

javascript - 使用 RxJS 过滤单个值并返回一个可观察对象,并在 Angular 的模板中通过异步使用可观察对象

angular - 如何将子组件正确导入到延迟加载的 IonicPage 中?

php - 无论如何改进我的 gzip PHP 方法?