之前几次升级 Angular 版本的经历总体还算顺利,因此原本对 Angular 8 升级到 9 的过程也比较乐观。虽然 Angular 9 开始将默认启动新的 Angular Ivy,但考虑到已经正式发布数月,甚至 Android 10 都已问世,自己的项目又没有用特别冷门的依赖,依然没有担心会遇到问题。可惜墨菲定律无处不在,最后还是花了比想象中更多的时间完成升级。
为此,本文简单介绍自己在从 Angular 8 升级到 9 最终到 10 时遇到的问题及相应的解决方法,仅供参考。
首先,Angular 官方文档提供了详细的升级说明,建议在升级项目前首先通览相关文档,了解可能存在的问题。可以从下面的链接找到升级到 Angular 10 的最新信息。
下面是自己在升级时实际操作的几个主要步骤:
更新 Angular 8 相关依赖至最新版
ng build –prod –aot
确认变更
更新 @azure/msal-angular 至最新版 1.0.0
安装 1.0.0 版并为新版的接口变化修改代码( 1 )
ng build –prod –aot
确认变更
升级至 Angular 9,检查并乎略一些依赖版本问题
ng update @angular/[email protected] @angular/[email protected] –force ( 2 )
ng build –prod –aot
确认变更
升级 Angular Material
ng update @angular/[email protected]
检查 Angular Material 引用问题( 3 )
增加 ngcc 作为 postinstall 脚本( 4 )
ng build –prod –aot
确认变更
ng add @angular/localize ( 5 )
ng serve –ssl 启动并检查应用基本功能
升级至 Angular 10,检查并乎略一些依赖版本问题
ng update @angular/core @angular/cli –force
临时手段解决 ngx-restangular 编译问题( 6 )
ng build –prod –aot
确认变更
ng update @angular/material
ng build –prod –aot
确认变更
ng serve –ssl 启动并检查应用基本功能
大功告成
对上述步骤的一些详解,请移步我的博客文章。
希望能对大家有所帮助。