electron-webpack を使っていると preload.js が読み込めない

Electron のドキュメントに従ってプリロードスクリプトを使おうとしたが、どうも読み込めていない様子。エラーにはならないのだが、スクリプト内に定義した API を参照しようとするも undefined になっている。

公式ドキュメントでは下記のように BrowserWindow 生成時にオプションを渡すようになっている。

  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      preload: path.join(__dirname, 'preload.js')
    }
  })

これをこのように書き換えたら動いた。

  const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      preload: path.resolve(__dirname, 'preload.js')
    }
  })

https://github.com/electron-userland/electron-webpack/issues/54

electron-webpack は2020年4月以降更新されていないので、もう使うのは微妙なのかも。

コメントを残す