我最初使用的是electron stable(4.x.x),能够在浏览器和渲染器进程中使用require.我升级到了electron beta(5.0.0),因为我需要一个更新版本的node,并且在渲染过程Uncaught ReferenceError: require is not defined中遇到了这个错误消息.

在谷歌上搜索Electron 文档,我发现一些 comments 称,初始化BrowserWindow时将webPreferences.nodeIntegration设置为false可能会导致错误;e、 g:new BrowserWindow({width, height, webPreferences: {nodeIntegration: false}});.但我没有这样做,所以我认为一定是其他问题,并继续寻求解决方案.

推荐答案

Electron 版12及以上

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`);
});

Node.js相关问答推荐

CloudTasksClient在Firebase Function % s onDocumentCreated中实例化时导致错误

如何在不丢失其他键的情况下解开子文档数组,然后反转该过程?

使用Node.js中的";类型";:";模块";不导入文件

如何呈现ejs.renderFile中包含的子模板?

如何在Mongoose for MongoDB中编写此查询

如何使用Stripe测试失败的收费?

如何使用对象中的常量值验证字符串字段?

为什么后端开发需要单独的服务器?

为什么 $or 在带有正则表达式的mongoose 中不能正常工作

如何解决这个关于 TaskRunner 的 Node/Express 代码问题?

在将用作 nodejs/expressjs 中的中间件的函数中使用 keycloak.protect()

如何调用同名的两个函数?

如何将使用 Gulp 的 node 部署到 heroku

User.findOrCreate 函数是做什么的,什么时候在Passport 中调用它?

npm package.json 操作系统特定脚本

当我try 向我的 S3 存储桶 (Node.js) 发送内容时,AWS 缺少凭证

卸载代码/模块

大型项目的 NodeJS vs Play 框架

react-native run-android 无法识别

从我之前部署的 firebase 控制台获取代码