【发布时间】:2017-04-27 13:51:11
【问题描述】:
我刚刚按照Angular 4 upgrade guide 更新了我的AngularJS 1.6 应用程序。基本上我在package.json 中添加了新的angular 4 依赖项,通过UpgradeModule 引导应用程序并在angular 4 中创建了一个新的简单组件。一切都按预期工作,但性能真的很差!
该应用程序是一个仪表板应用程序,具有潜在的大量小部件组件和大量对后端的 http 请求以填充每个小部件内容。
根据仪表板的不同,升级后的应用程序加载和显示仪表板的速度要慢 2 到 5 倍,并且 chrome 网络控制台显示 http 请求是按顺序运行的,而不是像 1.6 版本那样一次性全部执行。总体而言,用户界面也不太流畅。
我玩过ngZone 并尝试在角度zone.runOutsideAngular(() => { ... }) 之外运行请求,以减少由于更改检测而导致的刷新成本。结果比原来的 1.6 版本稍微快了一点,但仍然慢得多。
在升级到混合 1.6-4 应用以保持出色的原始性能时,是否需要考虑一些事项?谢谢!
【问题讨论】:
-
作为测试,我创建了一个非常基本的 AngularJS 1.4 示例应用程序并使用 UpgradeModule (@angular/upgrade/static) 使用 Angular 4 引导它。有一个非常明显的“无样式内容的闪光”用于 AngularJS 范围对象的 {{}} 插值,这让我相当关心性能。
-
请忽略我之前关于性能的评论。当我使用 Angular 4 UpgradeModule 引导一个实际的、现有的 AngularJS 1.4 应用程序时,性能似乎很好(甚至看起来……更快捷?)。我正在使用@angular/upgrade 4.0.3。
-
@Adrien Chauve 你最后找到解决办法了吗?
标签: angularjs angular angular2-upgrade angular-upgrade