0

我对更改的编译和输出结果非常缓慢。

我当前的 ng serve 在大约 20 秒内对文件进行简单的文本更改后运行更新。(其实编译时间很短,3-5秒之内),另外15秒是浏览器重载的过程。我在网络选项卡中意识到,花费时间最长的进程是 websocket,而它消耗了 13 秒。

对于这种情况,根本原因可能是什么?是因为我使用的是 rxjs 和 lodash 等外部库吗?是因为我在每个 scss 文件中都导入了引导 css 吗?还是因为我的组件结构?(我有多个模块)

我想知道,我如何将它缩短到 3 - 5 秒,因为它会极大地影响我的工作效率。

谢谢

这是捆绑包大小: 在此处输入图像描述

这是我的管理模块路线:

在此处输入图像描述

4

2 回答 2

1

我们从评论和聊天中得出这个答案的几个部分,在此处添加摘要答案。

快速感谢@ISanchez的链接 ,这是人们开始和熟悉 Angular 性能的好地方。

首先,我们将解决实时重新加载(构建更新)缓慢的问题。尝试制作更小的模块。这将允许重建一次使用更少的代码。一旦你改变了一个模块,它就需要重建,模块越大,它可能需要更长的时间。虽然这不是事实或标准,但我会尽可能在项目上设置预算,以尝试将我的模块保持在 200kb 以下(供应商和初始模块除外)。有了这个,我通常有非常可接受的重建时间:)

较长的加载时间似乎与在多个地方导入的所有引导程序有关。将其缩小到适当的导入/混合应该可以缓解其中的一些问题。另一个有帮助的重构是将模块拆分为延迟加载。管理模块相当大,甚至可以分成多个管理模块(每个管理模块都导入共享的管理功能)。“共享功能”建议在Angular material2 存储库中很好地建模,每个模块基本上都导入了它需要操作的内容。如果您仍然遇到延迟加载模块太大的问题,您可以指定非子路由模块也延迟加载(如大型“共享功能”模块)。

于 2019-02-05T19:52:53.560 回答
0

我阅读的最好的文章,以提高我的 Angular 应用程序在开发和产品开发中的性能。

Angular 性能提示文章

个人提示:

RxJS v6 和 Webpack v4

于 2019-02-05T19:18:45.050 回答