Ionic5にCapacitorとElectronを導入し、デスクトップアプリとしてビルドする手順
Ionicプロジェクトの作成
Ionicプロジェクトを新規作成します。
作成時の選択項目は適当な物を選んでおきます。
$ ionic start my-project
プロジェクトのルートディレクトリに移動しておきます。
$ cd my-project
Capacitorのインストール
$ npm install --save @capacitor/cli @capacitor/core
Electronのインストール
$ npm install ngx-electron electron
$ npm install electron-packager --save-dev
アプリの初期設定
$ npm install --save @capacitor/cli @capacitor/core
$ npm install ngx-electron electron
$ npm install electron-packager --save-dev
アプリの初期設定
例としてアプリ名はexample、アプリIDはcom.example.appとします。
$ npx cap init example com.example.app
src/index.htmlの修正
後々、Electronアプリを起動した際にコンソールエラーが出てしまうので、src/index.html
のbaseタグを下記のように修正します(スラッシュの前にドットを付ける)。
<base href="./" />
Electronアプリの起動
- Ionicプロジェクトをbuildします。
- CapacitorにElectronをプラットフォームとして追加します。
- buildした中身(
/www
配下)をCapacitorにコピーします。
- Electronアプリとして起動できます。
$ ionic build
$ npx cap add electron
$ npx cap copy
$ npx cap open electron
/www
配下)をCapacitorにコピーします。$ ionic build
$ npx cap add electron
$ npx cap copy
$ npx cap open electron
2回目以降のbuild時は、2.の手順「npx cap add electron」は省いてよいです。
Electronアプリのbuild
package.jsonの編集
package.jsonに下記を追記します。
アプリ名はExampleとします。
"scripts": {
//中略
"electron:mac": "electron-packager ./electron Example --overwrite --platform=darwin --arch=x64 --prune=true --out=release-builds",
"electron:win": "electron-packager ./electron Example --overwrite --asar=true --platform=win32 --arch=ia32 --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName='Example Electron App'"
}
buildコマンド
下記コマンドを打つと、それぞれmac版とwin版のデスクトップアプリとして、/release-builds
配下にアプリがbuildされます。
$ npm run electron:mac
$ npm run electron:win
Author And Source
この問題について(Ionic5にCapacitorとElectronを導入し、デスクトップアプリとしてビルドする手順), 我々は、より多くの情報をここで見つけました https://qiita.com/msykn/items/af3e3b434057b794a959著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .