Electron: 未捕获的 ReferenceError:需要未定义

创建于 2019-03-06  ·  14评论  ·  资料来源: electron/electron

  • 电子版:
    从 5.0.0-beta.5 到 5.0.0-beta.1
  • 操作系统:
    macOS 10.14.3
  • 最后已知的工作电子版本::
    4.0.7

问题

构建和打包通过得很好,但在运行应用程序后,我在控制台Uncaught ReferenceError: require is not defined - at Object.electron - at __webpack_require__看到一个错误。

截图

screenshot 2019-03-06 at 15 20 05

附加信息

我们使用 Typescript、electron-builder、webpack。

最有用的评论

在你的 index.js

const w = 新浏览器窗口({
网络首选项:{
节点集成:真
}
})

所有14条评论

👋 感谢您在这里打开第一期! 如果您要报告 🐞 错误,请确保包含重现它的步骤。 我们在这个 repo 上遇到了很多问题,所以请耐心等待,我们会尽快回复你。

为了帮助我们更轻松地调查您的问题,请遵循贡献指南

根据我们的重大更改文档,nodeIntegration 的默认值从 true 更改为 false。

如何找到重大更改文档?

在你的 index.js

const w = 新浏览器窗口({
网络首选项:{
节点集成:真
}
})

您可以使用 Browserify 来解决您的问题,无论是网页还是网站。 但是由于您使用 Electron 来呈现 html,您只需要在 web 首选项下将节点集成设置为 true:如显示here

在你的 index.js

const w = 新浏览器窗口({
网络首选项:{
节点集成:真
}
})

谢谢! 已经解决了我的问题。

npm i @angular-devkit/build-angular -D

新建 BrowserWindow 时需要将 webPreferences.nodeIntegration 更改为 true
mainWindow = new BrowserWindow({ width: 1000, height: 600, webPreferences: { nodeIntegration: true } });

谢谢@bokele你是一个

nodeIntegration为 true 是最简单的方法,但是正如文档所说,保持它为 false 更安全,我发现这个https://stackoverflow.com/questions/52236641/electron-ipc-and-nodeintegration可能帮助未来的读者。

实际上我添加了 nodeIntergration = true 但仍然没有工作

@tolbxela 非常感谢伙伴

它对我不起作用,因为webPreferences.contextIsolation被设置为 true。 尽管https://www.electronjs.org/docs/tutorial/context-isolation#security-考虑事项,但在将该选项设置为 false 时要小心。

此页面是否有帮助?
0 / 5 - 0 等级