Search code examples
javascriptnode.jselectronrequire

electron 5.0.0 "Uncaught ReferenceError: require is not defined"


I had initially been using electron stable (4.x.x), and was able to use require in both my browser and renderer processes. I upgraded to electron beta (5.0.0) because I needed a newer version of node and encountered this error message in my renderer process, Uncaught ReferenceError: require is not defined.

Googling and looking through the electron docs, I found comments saying the error could be caused by setting webPreferences.nodeIntegration to false when initializing the BrowserWindow; e.g.: new BrowserWindow({width, height, webPreferences: {nodeIntegration: false}});. But I was not doing this, so I thought something else must be the issue and continued searching for a resolution.


Solution

  • For Electron version 12 and above

    const electron = require("electron");
    
    const { app, BrowserWindow } = electron;
    
    app.on("ready", () => {
      const mainWindow = new BrowserWindow({
        width: 1000,
        height: 600,
        webPreferences: {
          nodeIntegration: true,
          contextIsolation: false,
          enableRemoteModule: true,
        },
      });
      mainWindow.loadURL(`file://${__dirname}/index.html`);
    });