根据升级建议,应该先从Angular 5升级至Angular 6,再从Angular 6升级至Angular 7。node
本文内容“升级前-升级”适用于想从Angular 5升级至Angular 6的小伙伴;npm
本文内容“升级后”适用于想从Angular 6升级至Angular 7的小伙伴;json
ng --version
可查看当前版本缓存
1.HttpModule和Http Service 切换到 HttpClientModule和HttpClient Serviceapp
若是项目中有用到HttpModule和Http Service,把它们切换到HttpClientModule和HttpClient Service。框架
HttpClient有几个特性:ide
- 不须要调用.json()来映射返回的数据到json格式,默认就是json格式
- 支持拦截器
具体能够参考:HttpClient工具
2.若是有从@ angular / core导入任何动画服务或工具,则应从@ angular / animations导入它们post
3.ngOutletContext替换为ngTemplateOutletContext动画
4.CollectionChangeRecord替换为IterableChangeRecord
1.确保使用的是Node 8或更高版本
2.升级Angular CLI(全局和本地)
npm install -g @angular/cli
npm install @angular/cli
ng update @angular/cli
复制代码
可在每行后面加@你想要的版本号,例如:npm install -g @angular/cli@6.0.0
,以升级至Angular6。
3.迁移配置到当前版本的angular.json
ng update @angular/cli --migrate-only --from=1
复制代码
ps:Angular5如下的配置文件名是angular-cli.json
4.升级Angular框架包到v6,以及升级RxJS和TypeScript。
ng update @angular/core
复制代码
5.使用ng update
查看更新状况
若是仍有须要更新的内容,会显示当前版本号和最新版本号的对比。
使用rxjs-tslint自动更新规则删除已弃用的RxJS 6功能
对于大多数应用程序,这将意味着运行如下两行命令:
npm install -g rxjs-tslint
rxjs-5-to-6-migrate -p src/tsconfig.app.json
~~如下是彩蛋放送~~
升级后报了一堆错暂时解决不了,想降回原来的版本,怎么办?
1.卸载当前版本的Angular cli
npm uninstall -g @angular/cli
npm uninstall @angular/cli
复制代码
2.清除缓存,确保卸载干净
npm cache verify
复制代码
没法卸载?强制执行:npm cache verify --force
卸载完记得ng --version
确认一下哦
3.安装指定版本
npm install -g @angular/cli@1.7.4
npm install @angular/cli@1.7.4
复制代码
这个版本对应的是angular 5.2.11
【参考资料】
声明:本文原创,转发请注明出处,谢谢~