巷ではelectron-packagerが流行っているみたいですが、微妙にやりたいことができなかったので探していたら、electron-builderというのを見つけました。
その際の導入手順などを個人用のメモとして残そうかと思います。
とりあえず動けばいいとします、詳しいことを知りたい方は公式サイトを見てください。
なお、Electronでの開発はできている前提とします。
インストール
ぼくはnpmでインストールしました。
npm i -D -g electron-builder
i
(install
)はインストールコマンドで、
-D
(--save-dev
)はpackage.jsonのdevDependencies
に自動で記載するの意で、
-g
はglobal環境にインストールするの意です。(任意)
globalインストールした時にパスが通ってなくて悩んだことがあるので、どこかで動かないときはそのへんを調べてみるといいかもしれません。
フォルダー構成を変える
特にいじらなくても動くようですが、ビルド用とアプリ用で設定を変えられるようなので使ってみます。
今までに作っていたフォルダ群は、/app
を作ってその中に入れてあげます。
/app
と同じ階層でnpm init
を実行してあげます。
ビルド用コードを書く
コマンドでもできると思いますが、せっかくなのでNode.jsで書こうと思います。
/app
と同じ階層にファイルを作ってください。
'use strict';
const builder = require('electron-builder');
const fs = require('fs');
const packagejson = JSON.parse(fs.readFileSync('./app/package.json', 'utf8'));
builder.build({
platform: 'win',
config: {
'appId': `com.example.${packagejson.name}`,
'win': {
'target': 'zip',
},
},
});
~~(略)~~
platform: 'mac',
config: {
'appId': `com.example.${packagejson.name}`,
'mac': {
'target': 'zip',
},
},
~~(略)~~
mac版をビルドするときは、win版の中身を置き換えればできるはずです。
appID
のcom.example.${packagejson.name}
の部分は適宜置き換えておいてください。
とりあえず動かす用なので、細かい設定などは全くしません。
前述の通り公式サイトを見てください。
ビルドしてみる
先程用意したコードを実行してあげましょう。
先程ファイルを作ったディレクトリーで、以下のコマンドを実行します。
node build-win
ファイル名を変えていた場合は適宜置き換えてください。
そうするといろいろログが出て、/dist/
内にビルドされたアプリがあると思います。
終わり
メモ用&浅い知識なので適当なところがあるかもしれませんが、ご了承ください。