参考:require('electron') can be overridden by "electron" npm module
症状
Electronアプリを作成していて、実行すると"cannot read property 'on' of undefined"というエラーが出ることがある。
似たような症状として、"Cannot read property 'start' of undefined"という場合もあるようだ。
簡単な対処
理屈はいらないからなんとかしたい、というときは、
main.js
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
となっているところを下記のように書き換えればいけると思う。
main.js
const electron = require('electron');
const app = electron.app || require('app');
const BrowserWindow = electron.BrowserWindow || require('browser-window');
原因
npm install electron
とかやってるとなる(?)。
正しくは、npm install electron-prebuilt
。
正しい対処は、electronモデュールを削除することだと思われるが、削除がなかなかうまくできないこともあるようなので、上記の「簡単な対処」をするのが楽といえば楽。