我正在开发一个电子应用程序。一切都很好,直到我想使用渲染器中的IPC调用某些本机功能。我知道将以下行添加到Webpack配置中将使我能够在渲染器一侧导入电子。
module.exports = {
// ...
target: 'electron-renderer',
}
添加此行时出现以下错误
Uncaught ReferenceError: require is not defined
违规行是
module.exports = require("querystring");
这很有道理,因为浏览器无法理解“要求”。
请注意,如果没有electron-renderer
目标,该应用程序将运行良好,但我不能做类似的事情
import {ipcRenderer} from 'electron';
有什么想法我可能做错了吗?谢谢!
答案 0 :(得分:7)
也遇到过这个问题,新答案:
mainWindow = new electron.BrowserWindow({
width: width,
height: height,
webPreferences: {
nodeIntegration: true,
contextIsolation: false
}
});
答案 1 :(得分:4)
最近才遇到这个问题。要注意的一件事是确保在创建渲染器窗口时将nodeIntegration设置为true。
mainWindow = new electron.BrowserWindow({
width: width,
height: height,
webPreferences: {
nodeIntegration: true
}
});