angular - 带 Angular 的 Ionic 4:有可用的升级指南吗?
问题描述
我想将基于 Ionic 框架的 Angular应用程序升级到 Angular 8.x。
- 是否有升级 Ionic 应用程序的官方指南?
- ionic CLI 在升级过程中是否支持开发人员(如 angular cli)?
- 离子框架是否支持ng update?
当前版本:
下面的输出由ionic info
(在项目文件夹中执行)生成:
离子:
Ionic CLI : 5.4.1 (C:\ProgramData\nvm\v10.15.0\node_modules\ionic)
Ionic Framework : @ionic/angular 4.9.0
@angular-devkit/build-angular : 0.13.8
@angular-devkit/schematics : 7.3.8
@angular/cli : 7.3.8
@ionic/angular-toolkit : 1.5.1
科尔多瓦:
Cordova CLI : 9.0.0 (cordova-lib@9.0.1)
Cordova Platforms : android 8.0.0
Cordova Plugins : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 4.0.1, (and 8 other plugins)
效用:
cordova-res : not installed
native-run : 0.2.8
系统:
NodeJS : v10.15.0 (C:\Program Files\nodejs\node.exe)
npm : 6.4.1
OS : Windows 10
谢谢你的帮助!
解决方案
这是将 Ionic 4 升级到 Angular 8 的半官方指南(由 Ionic 团队的 Mike Hartington 发布): https ://docs.google.com/document/d/1QOpQeDifPSg6F9WycDLcbQnpqjN96ew-Ap0_CB7CcCQ
我刚试过,它就像一个魅力。
将离子更新到 Angular 8
将@ionic/angular 和@ionic/angular-toolkit 更新到最新版本
npm install @ionic/angular@4.7.0 npm install @ionic/angular-toolkit@2.0.0 -D
从这里我们可以运行以下命令
npx ng update @angular/core @angular/cli
现在大多数包都应该更新了,为了确定,我们还需要更新这些
安装最新的 Angular devkit 更新
npm i @angular-devkit/architect@latest @angular-devkit/build-angular@latest @angular-devkit/core@latest @angular-devkit/schematics@latest
或者,如果您使用的是 mac/linux
npm i @angular-devkit/{architect,build-angular,core,schematics}@latest
潜在问题
旧版本的 Angular CLI 中存在一个已知错误,会导致更新命令停止运行并退出。如果您遇到此问题,请查看此问题并使用以下命令。https://github.com/angular/angular-cli/issues/14589
npx ng update @angular/core npx ng update --allow-dirty @angular/core --from 7 --to --migrate-only ng update @angular/cli --allow-dirty ng update @angular/cli --allow-dirty --from 7 --to 8 --migrate-only
存在一个已知错误,Angular CLI 将尝试安装 Angular 8.2.0-next。如果遇到此问题,请查看此问题并使用以下命令:
https://github.com/angular/angular-cli/issues/14980
npm install @angular/cli@latest npx ng update @angular/core
请注意,这会让您先更新 Angular CLI,然后再更新 Angular Core。从这里,您可以继续使用上述指南中的其余命令。
如果您遇到任何问题,请在 Ionic repo 上打开一个新问题,并附上详细的重现步骤: https ://github.com/ionic-team/ionic/issues
推荐阅读
- python - 在 SublimeText 3 中请求 ImportError
- sql - 在 SQL 中滚动 12 个月递减
- neo4j - Neo4j 中的 MERGE 相关节点
- spring - Spring MVC 测试 - 需要多部分 POST json originalFilename
- .net - Azure Function 是否可以由事件触发,然后按计划开始运行?
- angular - 我如何在 Angular 中使用 foxTooltip?
- laravel-5 - 复选框的旧数据
- json - 类方法的自定义代码完成?
- python - 使用 STARTUP SCRIPT 时在 GCP 实例上导入 tensorflow 失败
- c# - 运算符“<<”不能应用于“bool”和“int”类型的操作数