💚electron-builderを䜿っおvueアプリケヌションのパッケヌゞを䜜成

vueで䜜成したwebアプリケヌションをelectronでパッケヌゞングする必芁があったのでググっお頻繁に出おくるelectron-packagerを䜿っお䜜成しおいたけど、むンストヌラヌも䜜成するには別パッケヌゞを䜿ったりビルド環境が䞍安定であったりずツラみが深かった。だけど最近はelectron-builderを䜿うのが安い早い矎味いだったので蚭定方法を曞き蚘す。

この蚘事の芁点

  • electron-packagerは叀い
  • electron-builderを䜿おう
  • vueで䜿うならvue-cli-plugin-electron-builder ã‚‚䜿おう
  • むンストヌラヌ圢匏のパッケヌゞがすぐに䜜成できる
  • この蚘事を読んでわかるこず
    • vueプロゞェクトにelectronのビルド蚭定を远加する方法
    • electronのビルド蚭定倉曎
    • Windowsビルド蚭定

ちなみにドキュメントペヌゞは以䞋です
https://www.electron.build
https://nklayman.github.io/vue-cli-plugin-electron-builder/

vueプロゞェクトにelectronのビルド蚭定を远加する方法

$ vue create example-vue-electron
$ cd example-vue-electron
$ vue add electron-builder
? Choose Electron Version ^3.0.0
$ npm run electron:build

以䞊でパッケヌゞ䜜成ができるようになった。mac環境で䜜成するずmac環境向けのパッケヌゞが䜜られる

ちなみに

$ npm run electron:serve

でelectronが起動しお開発ができるようになっおいたす。お手軜 

electronのビルド蚭定

electronのビルドセッティングのサンプルずしおアむコンを指定したす。
ビルドセッティングはelectron-builderのデフォルトだずpackage.jsonだけど、vueで䜿甚するためのvue-cli-plugin-electron-builderの堎合は vue.config.js に蚭定する必芁がある。
以䞋のファむル指定を行う。

// vue.config.js
module.exports = {
  pluginOptions: {
    electronBuilder: {
      builderOptions: {
        // options placed here will be merged with default configuration and passed to electron-builder
      }
    }
  }
}

https://nklayman.github.io/vue-cli-plugin-electron-builder/guide/configuration.html#configuring-electron-builder

アむコンの指定はこう

// vue.config.js
module.exports = {
  pluginOptions: {
    electronBuilder: {
      builderOptions: {
        mac: {
          icon: 'build/icon.png',
        },
      }
    }
  }
}

https://www.electron.build/configuration/dmg

ビルドするずアむコン画像が適応されおいたす
ちなみに即時実行できるapp圢匏のファむルもビルドされおいお、dist_electron/mac/にある

本来であればicnsアむコンを䜜成する必芁があるのですがelectron-builderなら512*512サむズのpng画像があればokです

Windowsビルド蚭定

windows向けを䜜成
package.jsonのbuild蚭定に以䞋のオプションを蚭定

    "electron:build": "vue-cli-service electron:build --mac --win",

example-vue-electron Setup 0.1.0.exeが䜜成されるのでそれを起動すればむンストヌルが可胜

補足: windows向けのショヌトカットを自動䜜成する

windows向けだずむンストヌル埌にアプリケヌションがどこに入ったのかわからなくなるのでショヌトカットをデスクトップに䜜成するように蚭定する。electron-buiilderのオプションで存圚するのだが(createDesktopShortcut)なぜか䜜成されない🀔のでパッケヌゞ远加で蚭定する

npm install --save electron-squirrel-startup
// src/background.js
const { app } = require('electron');
// ....
if(require('electron-squirrel-startup')) app.quit();

補足: Linuxでmac環境のアプリケヌションを䜜成

MacでないずMacのむンストヌラヌ圢匏のdmgが䜜成できない。docker環境などのLinuxでビルドをする堎合にはMacのタヌゲットをzipに倉曎する必芁がある

// vue.config.js 
module.exports = {
  pluginOptions: {
    electronBuilder: {
      builderOptions: {
        mac: {
          icon: 'build/icon.png',
          target: 'zip',
        },
        win: {
          icon: 'build/icon.png',
        }
      }
    }
  }
}

たずめ

以䞊の蚭定をしたリポゞトリはここで公開しおいたす
https://github.com/soramugi/example-vue-electron

electron-packagerで䜜成しおいた頃は

  • vueをビルド
  • 成果物の dist/ をコピヌ
  • electronのビルド甚ディレクトリにペヌスト
  • electronのビルド実行
  • むンストヌラヌのビルド実行

ず3ステップ螏んでいたので、1パッケヌゞにたずたっお蚭定も簡朔なので楜になりたした。

あずは以䞋を調べようかず

  • コヌド著名
  • AutoUpdate指定
  • Publish指定

AutoUpdate(自動アップデヌト)呚りが調査途䞭です。パッケヌゞは䜜成できたんだけどアップデヌトしないので䜕かが間違っおそうな雰囲気。早めにたずめおおきたい 

続きを曞きたした : electron-builderで自動アップデヌトに察応

投皿者: soramugi

ラゞオ奜きが講じおお仕事に遞んだ人。 web゚ンゞニアなので「ラゞオで寂しさを無くすシステム制䜜」をしおいたす(ラゞオ=音声コンテンツ)。 東京は立川によく出没したす。

コメントを残す