【问题标题】:Angular2 app - Remove Render-Blocking JavaScriptAngular2 应用程序 - 删除渲染阻止 JavaScript
【发布时间】:2016-12-02 17:35:51
【问题描述】:

我有一个 angular2 firebase 应用程序。

我注意到,当它运行时,它需要 4 秒的时间来获取 12 个 JavaScript 库,这些库我存储在我的 prod 构建中,然后它会显示应用程序。

我需要将这 4 秒的延迟缩短到 2 秒。

当我在 chrome 中观看控制台中的源时,它会暂停 4 秒然后加载。似乎渲染阻塞 JavaScript 是正确的术语?

我尝试过的事情:

  • 12 个 JavaScript 库上的 HTML5 asyncdefer
  • 我尝试将这些库合并到同一个文件中,但这给了我很多错误。
  • 我的 CSS 很好,而且全部缩小了。
  • 所有的js 12文件都被缩小了。
  • 12 个 JavaScript 库都存储在本地,不会从其他服务器请求。
  • 我的网站上有图片,它们都经过优化和压缩并放置在 CDN 上。
    • 我使用 cloudflare 并且所有性能切换都已打开。
    • 我使用 Firebase 进行托管。
    • JavaScript 文件位于标题下方而不是标题中。

我的 PageSpeed Insights 得分来自 google: (资源:https://developers.google.com/speed/pagespeed/insights/

  • 61/100 用于移动设备。
  • 83/100 用于桌面。

我不能使用 webpack。

我只想要一个简单的方法来显示用户界面,然后加载库。

如果您还有其他问题,请告诉我。

【问题讨论】:

    标签: javascript performance angular performance-testing


    【解决方案1】:

    Angular 2 会生成你的用户界面,所以你的要求一开始似乎是不可能的。但是你很幸运:angular 2 团队正在努力帮助你。它实际上已经可以使用了,但我认为您不能将它与 Firebase 托管结合使用。看看https://universal.angular.io/。它允许您在服务器端呈现初始视图。

    【讨论】:

      猜你喜欢
      • 2014-07-24
      • 2017-06-18
      • 2015-01-26
      • 1970-01-01
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 1970-01-01
      相关资源
      最近更新 更多