Web アプリの Cordova から Capacitor へのマイグレーション
Cordova を使用して Web アプリケーションを完全に Capacitor に移行するには、いくつかの手順が必要です。
これらの変更を適用する際には、別のコードブランチで作業することをお勧めします。
Capacitor を追加する
ターミナルでプロジェクトを開き、 ウェブアプリへの Capacitor の追加 、または Ionic アプリへの Capacitor の追加 のガイドに従います。
アプリを Capacitor で初期化します。アプリの初期化に必要な情報は、Cordova の config.xml
ファイルに記載されています:
- アプリ名は
<name>
要素の中にあります - バンドル ID は、ルートの
<widget>
要素のid
属性で確認できます
npx cap init
ウェブアプリの構築
ネイティブプラットフォームを追加する前に、少なくとも一度はウェブ・プロジェクトを構築する必要があります。
npm run build
これにより、Capacitor の設定ファイルでは、Capacitor がwebDir
として使用するwww
フォルダが 自動的に設定 されていることが確認できます。
Platforms の追加
Capacitor の Native プラットフォームは、その最上位フォルダにあります。Cordova の場合は、platforms/ios
もしくは platforms/android
でした。
npx cap add ios
npx cap add android
プロジェクトのルートに android と ios の両フォルダが作成されます。これらは全く別のネイティブプロジェクトの成果物であり、アプリの一部と考えるべきものです(つまり、ソースコントロールにチェックを入れたり、独自の IDE で編集したりするなど)。さらに、package.json
の dependencies
にある Cordova プラグインは、Capacitor によって自動的に新しいネイティブプロジェクトにインストールされます(ただし、incompatible ones は除きます)。
"dependencies": {
"@ionic-native/camera": "^5.3.0",
"@ionic-native/core": "^5.3.0",
"@ionic-native/file": "^5.3.0",
"cordova-android": "8.0.0",
"cordova-ios": "5.0.0",
"cordova-plugin-camera": "4.0.3",
"cordova-plugin-file": "6.0.1",
}