electron应用提示require() is not defined解决方法

2019-05-11 20:51:00
electron
原创
14167

创建了一个简单的electron应用,但窗口界面有些功能并未生效,在开发者工具里看了下,发现js文件里提示“require() is not defined”。感到疑惑,electron不是可以在html文件中直接执行node代码吗?

网上搜了下,最终找到了解决方案,这里记录一下:

很简单,在创建应用窗口时,设置webPreferences的nodeIntegration: true,即完整支持node。(但我记得这个属性的默认值就是true吧~)。

app.on('ready', () => {
  mainWindow = new BrowserWindow({webPreferences: {
        nodeIntegration: true
      }});
  mainWindow.loadURL(`file://${app.getAppPath()}/index.html`);
  mainWindow.on('closed', () => { mainWindow = null; });
});

再重启下应用,问题解决。

版权声明

版权声明:本站原创文章,转载请注明作者和出处。

本站点采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议