【问题标题】:ngUpgrade with Angular-cli使用 Angular-cli 进行 ngUpgrade
【发布时间】:2018-06-12 16:49:36
【问题描述】:
我有一个混合的 AngularJS (1.7.0) 和 Angular 6 应用程序。我还使用@angular/upgrade 模块来升级/降级组件和服务。我已经使用自定义 webpack 让它工作了,但现在我想转向 angular-cli。
任何人都可以提出最好的方法来做到这一点。
我在想:-
将 Angular 6 移至 Angular Cli 并使用自定义 webpack 构建 AngularJS。但我不确定当我们在升级/降级的组件之间导航时会发生什么。
【问题讨论】:
标签:
angular
angular-cli
ng-upgrade
angular-hybrid
【解决方案1】:
angular-cli 默认隐藏 webpack 配置(可以使用eject 命令访问)。
如果您对 webpack 进行了大量定制,那么从您的配置切换到 angular-cli 并非易事。
我们通过 ngUpgrade 迁移了几个项目,并且 angular 和 angularjs 之间的组件编组没有中断。
我们在翻译所有配置繁重的 webpack 任务时遇到了几个问题。最后,我们通过使用angular-cli 创建全新项目并仅导入我们的代码,成功迁移了所有项目,这种方法具有以下优点:
- 使用良好默认值创建的全新配置文件
- 整个应用程序开箱即用,因此可以逐步插入用户代码,而无需进行最小(如果有的话)配置更改
- tslint 配置了最新的默认值
- 所有无关的或悬空的配置文件都不是新项目的一部分,这意味着您在遇到问题时需要调查的代码更少
逐步插入代码需要一些时间,但是一旦骨架开始工作,任务就变得简单了。这种方法使用相同的 typescript 编译器构建 angular 和 angularjs,无需 webpack。