状況
Windowsアップデートついでにnode.jsとかモジュールをアップデートしたらelectronでエラーが出るようになった。
Uncaught TypeError: fs.existsSync is not a function'
環境
- windows 10 Pro Insider Preview 2004 (20150.1000)
- node v14.4.0
- Electron 9.0.4
- Vue.js 2.6.11
- Vuex 3.4.0
- vuetify 2.2.11
原因
ipcRendererが原因のもよう。
レンダラープロセスがノードモジュールにアクセスしようとして失敗しているみたい。
解決方法
vue.config.jsファイルに下記を追記したら動いてくれた。
module.exports = {
transpileDependencies: [
'vuetify'
],
pluginOptions: {
electronBuilder: {
nodeIntegration: true
}
}
}
これでレンダラープロセスがノードモジュールにアクセスできるようになりエラーが回避できる。
ただし脆弱性になりうるので、公開するアプリなどでは注意が必要とのこと。