在现场网站上运行混合Angular + AngularJS应用程序是否可以?

时间:2018-01-31 19:51:15

标签: angularjs angular upgrade ng-upgrade

我有一个AngularJS应用,我很乐意升级到Angular的最新版本。但问题是该应用程序使用了不支持Angular v.2的十几个不同的第三方库。

在实际网站上运行混合Angular + AngularJS应用程序是否可以?通过“OK”我的意思是,与运行纯AngularJS或Angular应用程序相比,它们没有严重的性能影响。

Angular文档很清楚如何执行从AngularJS到Angular的转换,但是他们不清楚是否应该在实时项目中使用ngUpgrade。

1 个答案:

答案 0 :(得分:1)

这个问题已经过时了,但是也许我的回答会帮助别人。

我们有一个大型的商业产品(银行网络应用程序),并且在现场站点上使用混合应用程序。我们的测试人员和客户没有注意到该网站的工作有任何变化。

我们将服务和组件从AngularJS 1.5迁移到Angular 6,这至少需要半年的时间。

一些提示:

  1. 为避免$digest和性能方面的所有问题,我建议使用DowngradeModule-它将AngularJS引导到Angular区域之外,并将两个变更检测系统分开。 第一个混合应用使用了UpgradeModule,我们遇到了很多问题,这种方法不适用于大型应用。

  2. bootstrapModule(AppModule)

  3. 之前使用类似的代码
import { enableProdMode } from '@angular/core';

if (IS_PRODUCTION) {
   enableProdMode();
}

如果您有任何问题,欢迎您。