从 Ionic 7 更新至 8
备注
本指南假设您已将应用更新至 Ionic 7 的最新版本。请确保在开始本指南前已遵循 升级至 Ionic 7 指南。
破坏性变更
有关从 Ionic 7 到 Ionic 8 的完整破坏性变更列表,请参考 Ionic Framework 仓库中的 破坏性变更文档。
开始之前
Angular
-
Ionic 8 支持 Angular 16+。请按照 Angular 更新指南 更新至最新版本的 Angular。
-
更新至 Ionic 8 的最新版本:
npm install @ionic/angular@latest
如果您使用了 Ionic Angular Server 和 Ionic Angular Toolkit,请务必同时更新它们:
npm install @ionic/angular@latest @ionic/angular-server@latest @ionic/angular-toolkit@11
注意:
@ionic/angular-toolkit@11要求最低 Angular 17。如果您仍在使用 Angular 16,则建议仅更新至@ionic/angular-toolkit@10。
- 将任何从
@ionic/angular导入的IonBackButtonDelegate改为从@ionic/angular导入IonBackButton。
React
- Ionic 8 支持 React 17+。更新至最新版本的 React:
npm install react@17 react-dom@17
- 更新至 Ionic 8 的最新版本:
npm install @ionic/react@8 @ionic/react-router@8
Vue
- Ionic 8 支持 Vue 3.0.6+。更新至最新版本的 Vue:
npm install vue@^3.0.6 vue-router@^3.0.6
- 更新至 Ionic 8 的最新版本:
npm install @ionic/vue@8 @ionic/vue-router@8
Core
- 更新至 Ionic 8 的最新版本:
npm install @ionic/core@8
建议的更改
以下更改并非更新至 Ionic 8 的必需步骤,您的应用将继续正常运行。然而,我们建议进行以下更改,以确保您能够使用 Ionic 8 中的新功能。
浅色调色板
之前的版本在 theme/variables.scss 中为浅色调色板定义了一组默认颜色变量:
/** Ionic CSS 变量 **/
:root {
/** primary **/
--ion-color-primary: #3880ff;
--ion-color-primary-rgb: 56, 128, 255;
--ion-color-primary-contrast: #ffffff;
--ion-color-primary-contrast-rgb: 255, 255, 255;
/* ... */
}
在 Ionic Framework 版本 8 中,只要导入了 core.css,就会包含这些颜色变量。应删除 theme/variables.scss 中定义的颜色变量,以避免覆盖导入的默认变量,并确保应用始终使用最新的调色板。
自定义此颜色调色板的开发者可以继续保留自定义变量值,但任何使用默认值的变量都应删除。
您可以在 Ionic v8 公告 中了解更多关于新调色板的信息。