【问题标题】:Angular huge bundle size due to angular and firebase modulesAngular 和 Firebase 模块导致的 Angular 巨大的捆绑包大小
【发布时间】:2020-02-03 03:31:59
【问题描述】:

我是 Angular 开发的新手,我目前正在研究如何优化 Angular 的包大小。我已经阅读了很多关于捆绑分析器、导入、模块、延迟加载等的帖子。

我的应用程序相当小,但仍会加载 2MB 的供应商捆绑包(11MB 未压缩):

我已经将较大的部分(使用大型 3rd 方库)放入延迟加载的模块中,但这仅节省了几 KB。

最大的模块似乎是:

  • 角度
  • 火力基地
  • 材料
  • 时刻

是否可以减小这些模块的大小? 我没有看到任何我进口超过需要的地方。有些部分甚至不是我的。

【问题讨论】:

  • 一篇文章中有太多问题。如何暂时只减少/使用一种语言环境应该是它自己的问题(经过研究和尝试)。
  • 你是对的!我已经编辑了我的问题,并将为当前问题打开一个新问题。

标签: angular webpack bundle angularfire


【解决方案1】:

减少 Angular 应用程序最终构建的一个好做法是使用 Angular 的 Ahead-of-Time (AOT) 编译器。以下是来自Angular documentation 的一些详细信息:

较小的 Angular 框架下载大小。如果应用程序已经编译,则无需下载 Angular 编译器。编译器大约是 Angular 本身的一半,因此省略它会大大减少应用程序的负载。

将 Webpack 集成到您的编译中也很有趣,特别是用于生产构建。 Here's a link to a blog post 描述 Angular 7 和 Webpack 4 的集成过程。

【讨论】:

  • 角度构建的 prod 版本默认使用 aot 选项。我刚刚为非产品版本生成了统计信息(我在一些博客文章中已经阅读过这样做),因此包括了编译器等。谢谢,这解释了这一点!
猜你喜欢
  • 2018-02-20
  • 2018-03-13
  • 2012-11-08
  • 1970-01-01
  • 2017-12-11
  • 1970-01-01
  • 1970-01-01
  • 2016-08-28
  • 1970-01-01
相关资源
最近更新 更多