[Electron] Hello World的なもの(1)を少し変更する。

index.htmlをsrcフォルダに移動して、ビルドするとdistにコピーされるようにしたい。つまり、srcフォルダにすべてのソース、ビルドで生成されるファイル+実行に必要なファイルをdistに用意されるようになる。と、すると実行用のpackage.jsonも別途srcフォルダに用意しといた方がいいような気がするのでそれも行う。

webpackでビルド時にファイルをコピーする方法はいろいろあるようなんだけど、copy-webpack-pluginを使うことにする。

copy-webpack-pluginをインストールする。プロジェクトフォルダで

npm install copy-webpack-plugin -D

を実行する。

webpack.config.jsの頭のほうに、

const copyWebpackPlugin = require('copy-webpack-plugin');

を追加して、レンダラープロセスの設定に

    plugins: [
      new copyWebpackPlugin([
        { from: "./src/*.html", to:"[name].[ext]" },
        { from: "./src/package.json" },
      ])
    ]  

を追加する。

index.htmlをsrcフォルダに移動する。
index.htmlでdist/app.jsと指定しているところをapp.jsに変更する。
src/main/main/tsのloadURLで読み込んでいるindex.htmlの場所を変更する。

package.jsonのscriptsのstartを

    "start": "electron ./dist/"

起動用のsrc/package.jsonを用意する。

{
    "name": "webpack-electron",
    "version": "1.0.0",
    "main": "./main.js"
}

こんな感じかな?

変更したソースをダウンロードできるようにしといた。