2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ionic5にCapacitorとElectronを導入し、デスクトップアプリとしてビルドする手順

Last updated at Posted at 2020-05-09

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

アプリの初期設定

例としてアプリ名はexample、アプリIDはcom.example.appとします。

$ npx cap init example com.example.app

src/index.htmlの修正

後々、Electronアプリを起動した際にコンソールエラーが出てしまうので、src/index.htmlのbaseタグを下記のように修正します(スラッシュの前にドットを付ける)。

src/index.html
<base href="./" /> 

Electronアプリの起動

  1. Ionicプロジェクトをbuildします。
  2. CapacitorにElectronをプラットフォームとして追加します。
  3. buildした中身(/www配下)をCapacitorにコピーします。
  4. Electronアプリとして起動できます。
$ 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とします。

package.json
"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
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?