Electron nodeIntegration

创建时间:2025-05-08 18:36
长度:600
浏览:0
评论:0

nodeIntegration 是 Electron 框架中一个重要的配置选项,用于控制是否在渲染进程(Renderer Process)中启用 Node.js 集成


Electron 的渲染进程默认运行在沙盒中(除非显式关闭),此时无法直接使用 Node.js 的 API。


当 nodeIntegration: true 时,渲染进程可以直接访问 Node.js 的 API(如 fs、path、process 等模块),就像在 Node.js 环境中一样。


当 nodeIntegration: false(默认值)时,渲染进程将运行在纯浏览器环境中,无法直接使用 Node.js 的功能,只能通过预加载脚本(Preload Script)或进程间通信(IPC)与主进程(Main Process)交互。


const win = new BrowserWindow({
  webPreferences: {
    nodeIntegration: true,
    contextIsolation: false
  }
});


注意:禁用沙盒要特别注意安全性问题(nodeIntegration = false)

   如果渲染进程中加载了不受信任的内容(如第三方网页),且启用了 nodeIntegration,攻击者可能通过 XSS 漏洞利用 Node.js 的 API 执行恶意操作(如访问文件系统)

评论(共0条)