【问题标题】:Angular 2 app - Google PageSpeed Insight tell me to "enable compress"Angular 2 应用程序 - Google PageSpeed Insight 告诉我“启用压缩”
【发布时间】:2017-03-28 05:45:34
【问题描述】:

我正在使用 Angular 2 CLI 来构建我的项目,它似乎被压缩了,但是当我使用 https://developers.google.com/speed/pagespeed/insights 测试我的网页时,我得到了 43/100 的分数,因为我需要“激活压缩”。我确实在我的 .htaccess 中包含了以下内容:

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

但我在 pagespeed 洞察中不断收到“启用压缩”错误。

Compressing main.md5.bundle.js could save 1.2MiB (78% reduction).
Compressing could save 19.9KiB (82% reduction).

我还需要:

移除阻止渲染的 JavaScript:

inline.js
/styles.md5.bundle.js
main.md5.bundle.js

如果这对所有 Angular 2 用户来说都是一个问题,或者是否有办法解决它,有什么想法吗?

【问题讨论】:

  • 试试这些:使用异步管道加载 JS 文件。通过创建样式元素并将其插入头部来从根组件渲染 css。
  • 你能更详细地描述 CSS 推荐吗?无法理解“从根组件渲染 CSS”是什么意思

标签: angular pagespeed


【解决方案1】:

如果您使用 CLI,您应该能够使用带有 prod 标志的 ng build 提供 gzip 压缩版本(取决于您提供服务的方式,如果您需要更新节点服务器或将压缩设置为活动'正在使用 CDN)

ng build --prod --aot

【讨论】:

  • 顺便说一句,您还应该能够利用 AOT 通过添加 --aot 标志来减小文件大小(您可能会遇到一些错误......我当然在 ngrx 中使用了我的减速器/redux 模式实现)
  • 注意在 Angular 4 中你不需要添加 --aot 标志
【解决方案2】:

这只是一个想法,但我认为它会起作用。将你的 CSS 分成几部分 1.) 一个包含渲染加载器/第一次渲染所需的最少 css。 2.) 将所有其他 css 保留在此处。 现在您可以动态生成它了

  ngOnInit(){
    let link = document.createElement('link'),
        head = document.getElementsByTagName('head')[0];
    link.type = "text/css";
    link.rel = "stylesheet";
    link.href = "assets/css/style.css";
    head.appendChild(link);
  }
**or load asynchronously (http://keithclark.co.uk/articles/loading-css-without-blocking-render/)**

【讨论】:

  • 关于压缩信息?我的 main.js 已缩小,大小为 1.6MB,pagespeed 洞察力说“启用压缩”,而它已经启用..
  • 不确定,可能你的JS文件没有正确缩小。参考这个链接:stackoverflow.com/questions/21937190/…
猜你喜欢
  • 2014-02-08
  • 1970-01-01
  • 2013-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-12
相关资源
最近更新 更多