> 文档中心 > 在 ionic 项目中使用(迁移) capacitor

在 ionic 项目中使用(迁移) capacitor

目录

1. 在已有项目中使用 capacitor

1.1 可以使用 capacitor 的项目要求

1.2 安装和初始化 capacitor

2. 在 ionic 项目中使用 capacitor

2.1 在新项目中使用 capacitor

2.2 在老项目中使用 capacitor(没有使用 cordova)

2.2.1 安装和初始化 capacitor

2.2.2 添加 android/ios 平台(把原生平台添加到应用中)

2.2.3 构建项目,修改打包输出路径

2.3 在老项目中使用 capacitor(使用了 cordova)

2.3.1 安装和初始化 capacitor

2.3.2 安装 ionic 必须的 capacitor 插件(可以参考 2.2)

2.3.3 添加 android/ios 平台(把原生平台添加到应用中)

2.3.4 尽量使用 capacitor 插件替代 cordova 插件

2.3.5 添加启动动画、更改应用图标 

3. ionic 中封装的 capacitor 命令


1. 在已有项目中使用 capacitor

1.1 可以使用 capacitor 的项目要求

可以嵌入 capacitor 的项目必须符合以下要求:

  • 必须有一个 package.json 文件
  • 必须有一个单独的网络资产目录
  • 在网络资产目录的根目录中必须有一个带有 标记的 index.html 文件

1.2 安装和初始化 capacitor

在项目根目录下,安装 capacitor

安装成功后,通过 capacitor 脚手架,确认 应用名称、应用包名 

// 在项目根目录下,安装 capacitornpm install @capacitor/corenpm install @capacitor/cli --save-dev// 安装成功后,通过 capacitor 脚手架,确认 应用名称、应用包名 npx cap init

2. 在 ionic 项目中使用 capacitor

2.1 在新项目中使用 capacitor

ionic6 已经自动支持 capacitor 了

如果是新建项目,直接通过ionic start就能构建出使用 capacitor 的 ionic 项目了

2.2 在老项目中使用 capacitor(没有使用 cordova)

2.2.1 安装和初始化 capacitor

使用 “应用名、应用包名” 安装和初始化 capacitor

安装 ionic 必须的 capacitor 插件

// 使用 “应用名、应用包名” 安装和初始化 capacitorionic integrations enable capacitor// 安装 ionic 必须的 capacitor 插件npm install @capacitor/appnpm install @capacitor/hapticsnpm install @capacitor/keyboardnpm install @capacitor/status-bar

2.2.2 添加 android/ios 平台(把原生平台添加到应用中)

【ionic capacitor add】

执行完这条命令后,项目根目录下会自动创建 android 和 ios 文件夹,这两个文件夹其实就是原生工程,在 Android Studio 中可以直接打开并运行原型工程

2.2.3 构建项目,修改打包输出路径

【ionic build】

通过 webDir 可以指定打包输出路径,具体可以参考 capacitor 配置

Capacitor - build cross platform apps with the webBuild iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScripthttps://capacitorjs.com/docs/config

2.3 在老项目中使用 capacitor(使用了 cordova)

官方建议:如果进行cordova 到 capacitor 的迁移,那么最好新开 git 分支

2.3.1 安装和初始化 capacitor

使用 “应用名、应用包名” 安装和初始化 capacitor【npx cap init】

cordova 项目可以在 config.xml 中获取 应用名 和 应用包名

  • 标签获取应用名
  • 标签获取应用包名

2.3.2 安装 ionic 必须的 capacitor 插件(可以参考 2.2)

2.3.3 添加 android/ios 平台(把原生平台添加到应用中)

添加平台之前,必须要构建应用(至少构建一次)【npm run build】

执行添加平台命令【npx cap add ios 和 npx cap add android】

  • cordova 平台添加位置: myApp/platform/android 或者 myApp/platform/ios
  • capacitor 平台添加位置:myApp/android 或者 myApp/ios

2.3.4 尽量使用 capacitor 插件替代 cordova 插件

移除 cordova 插件【npm uninstall cordova-plugin-name】

同步代码【npx cap sync】

2.3.5 添加启动动画、更改应用图标 

在 myApp 下创建 resource 文件夹,文件夹中放入应用图标和启动动画界面

全局安装 cordova-res 依赖,该依赖用于生成 适配各个机型的的 应用图标和启动动画界面【npm install -g cordova-res】

安装成功后,在项目根目录下执行【cordova-res ios --skip-config --copy
 和 cordova-res android --skip-config --copy】

Capacitor - build cross platform apps with the webBuild iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScripthttps://capacitorjs.com/docs/cordova/migrating-from-cordova-to-capacitor

3. ionic 中封装的 capacitor 命令

举个栗子:ionic capacitor sync 可以简写成 ionic cap sync

ionic capacitor addionic capacitor buildionic capacitor runionic capacitor syncionic capacitor open

这些封装的命令,其实和 capacitor cli 本身的命令含义相差不大,可以参考文档

https://capacitorjs.com/docs/cliicon-default.png?t=M276https://capacitorjs.com/docs/cli