2019年 Vue.js + Electron の環境構築は vue-cli-plugin-electron-builder がおすすめ
今まで Vue.js + Electron の組み合わせでプロジェクトを作成するには electron-vue が定番でした。
しかし、Vue CLI がバージョン3になり、Webpack 周りの設定を意識することなく TypeScript などが手軽に導入できることに慣れてしまうと、Vue CLI 2 ベースの electron-vue で新規プロジェクトを作るのは若干面倒に思えてしまいます。
検索してみたところ、Vue CLI 3 のプラグインである vue-cli-plugin-electron-builder というのが見つかり、大変便利だったのでご紹介させていただきます。
公式サイト https://nklayman.github.io/vue-cli-plugin-electron-builder/
導入方法
Vue CLI 3 がインストールしてあり、すでにプロジェクト作成済みの状態で、
vue add electron-builder
と入力すると、 Electron や依存パッケージがインストールされるほか、いろいろと設定やファイルを追加してくれます。
※ vue ui
のプラグイン画面からでも追加できます
追加されるもの
.gitignore
アプリケーションビルド先のディレクトリ /dist_electron
が .gitignore に追加されます。
package.json
プロジェクトルートの package.json に npm スクリプトがいくつか追加されます。
重要なのは以下の2つです。
electron:build
ビルドコマンド。/dist_electron
ディレクトリに Electron アプリケーションやインストーラが書き出されます。
electron:serve
Dev サーバ起動。Electron ウィンドウが立ち上がり、ホットリロードしながら開発できます。
src/background.js
Electron 起動スクリプトのファイルが新たに作成されます。
メインウィンドウの作成や、すべてのウィンドウが閉じられた時にアプリケーション終了(Mac OS除く)などのテンプレ的な内容に加え、開発時は起動後に DevTools を開く、といった処理が書かれています。
ちなみに Vue CLI で TypeScript を選択したプロジェクトの場合、拡張子がちゃんと .ts
になっていて感心しました。
electron-vue との違い
一番の違いはディレクトリ構成でしょうか。
electron-vue は /app/src
の下がメインプロセス用とレンダラプロセス用のディレクトリに分かれていますが、 vue-cli-plugin-electron-builder は Vue CLI のディレクトリ構成のままなので、/src
に両方のファイルが置かれることになります。
また、electron-vue は 設定ファイルが細かく分かれていますが、vue-cli-plugin-electron-builder は Vue CLI の設定ファイル vue.config.js
を使用します。
electron-vue も vue-cli-plugin-electron-builder もしっかり使い込んでいるわけではないので、他にも違いがあったらお知らせください。
まとめ
公式サイトのガイドページには、インストール方法から使い方、各種設定、アイコン作成方法などのTipsやFAQ的なページなどがあり、しっかり作りこまれていて安心感があります。
既存プロジェクトにも簡単に Electron を導入できるのも大きな強みですね。
Vue.js + Electron の新たな定番になりそうなポテンシャルを秘めているのではないでしょうか。
Author And Source
この問題について(2019年 Vue.js + Electron の環境構築は vue-cli-plugin-electron-builder がおすすめ), 我々は、より多くの情報をここで見つけました https://qiita.com/jay-es/items/910db55f93c0c4c00727著者帰属:元の著者の情報は、元の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 .