从 Ionic 5 升级到 6
备注
本指南假设您已将应用升级到 Ionic 5 的最新版本。在开始本指南之前,请确保您已按照 升级到 Ionic 5 指南 进行操作。
破坏性变更
有关从 Ionic 5 到 Ionic 6 的 完整破坏性变更列表,请参阅 Ionic Framework 仓库中的 破坏性变更文档。
开始之前
Angular
- Ionic 6 支持 Angular 12+。请按照 Angular 更新指南 更新到最新版本的 Angular。
- 更新到 Ionic 6 的最新版本:
npm install @ionic/angular@6
如果您使用 Ionic Angular Server,请确保也更新它:
npm install @ionic/angular@6 @ionic/angular-server@6
- 移除所有
Config.set()的使用。改为在IonicModule.forRoot()中设置配置。更多示例请参阅 Angular 配置文档。 - 移除所有之前从
@ionic/angular导出的setupConfig函数的使用。改为在IonicModule.forRoot()中设置配置。
React
- Ionic 6 支持 React 17+。更新到最新版本的 React:
npm install react@latest react-dom@latest
- 更新到 Ionic 6 的最新版本:
npm install @ionic/react@6 @ionic/react-router@6
- 更新
package.json中scripts对象里的test字段,包含transformIgnorePatterns:
"scripts": {
"test": "react-scripts test --transformIgnorePatterns 'node_modules/(?!(@ionic/react|@ionic/react-router|@ionic/core|@stencil/core|ionicons)/)'",
...
}
- 在您的
App组件文件中导入并调用setupIonicReact。如果您也使用了setupConfig,请将您的配置传递给setupIonicReact:
之前
App.tsx
import { setupConfig } from '@ionic/react';
...
setupConfig({
mode: 'md'
});
之后
App.tsx
import { setupIonicReact } from '@ionic/react';
...
setupIonicReact({
mode: 'md'
});
备注
即使不设置自定义配置,开发者也必须导入并调用 setupIonicReact。
更多示例请参阅 React 配置文档。
- 将所有控制器导入从
@ionic/core更新为@ionic/core/components。以下以menuController为例进行迁移:
之前
import { menuController } from '@ionic/core';
之后
import { menuController } from '@ionic/core/components';
Vue
- Ionic 6 支持 Vue 3.0.6+。更新到最新版本的 Vue:
npm install vue@3 vue-router@4
- 对于使用 Vue CLI 的应用,安装 Vue CLI 5:
npm install -g @vue/cli@next