我已经通过npm install Buffer
在我的机器上安装了Buffer模块,我想简单地将其导入到渲染器进程中以使用Buffer
当我使用这个:
const Buffer = require('Buffer')
它说需求是未定义的。
Stack Overflow上的所有解决方案都不起作用。
确保BrowserWindow
设置中的nodeIntegration
设置为true
,contextIsolation
设置为false
,如下所示:
new BrowserWindow({
webPreferences: {
nodeIntegration: true,
contextIsolation: false
},
});
默认情况下,nodeIntegration
是false
,它会阻止您在渲染器过程中使用NPM模块,启用nodeIntegration
会解决此问题。
点击此处阅读更多
注意:要从Renderer进程访问Node.js API,您需要将
nodeIntegration
首选项设置为true,将contextIsolation
首选项设为false。
免责声明,打开nodeIntegration
会在应用程序中打开安全漏洞。请参阅Zac关于如何修复它们的回答。
由于上面的答案会打开安全漏洞,因此应该使用预加载脚本。预加载脚本是在不将nodeIntegration设置为true的情况下向渲染器进程公开一些node.js函数的一种方式。查看www.electronjs.org.上关于预加载脚本的文档