Electron 调用Nodejs系统API提示 Error: module not found:xxx 解决方法

最近使用Electron 调用系统API时 居然提示模块为找到异常, 原因是 在Electron大于20版本时渲染进程系统默认启用了沙盒 sandbox.

当 Electron 中的渲染进程被沙盒化时,它们的行为与常规 Chrome 渲染器一样。 一个沙盒化的渲染器不会有一个 Node.js 环境

所以, 沙盒开启时所有的Node.JS的系统API都不可用.

可通过在 BrowserWindow 构造函数中使用 sandbox: false 选项 或者 nodeIntegration: true 来针对每个进程禁用渲染器沙盒。

javascript 复制代码
app.whenReady().then(() => {
  const win = new BrowserWindow({
    webPreferences: {
      sandbox: false,
      //nodeIntegration: true
    }
  })
  win.loadURL('https://github.com/tekintian')
})

禁用沙盒后就可以调用nodejs的API了.

官方文档 Process Sandboxing | Electron

相关推荐
顺丰同城前端技术团队5 分钟前
DeepSeek 国产大模型新标杆
前端·后端·程序员
Java水解6 分钟前
微前端架构:从单体到模块化的前端新革命
前端
Mr_汪9 分钟前
uniapp使用h5的map(已弃用)
前端
前端进阶者12 分钟前
vite调试node_modules下面插件
前端·vite
YaHuiLiang20 分钟前
小微互联网公司与互联网创业公司 -- 学历之殇
前端·后端·面试
用户261245834016122 分钟前
vue学习路线(11.watch对比computed)
前端·vue.js
CAD老兵28 分钟前
前端 Source Map 原理与结构详解
前端
gnip32 分钟前
markdown预览自定义扩展实现
前端·javascript
大猫会长44 分钟前
mac中创建 .command 文件,执行node服务
前端·chrome
旧时光_44 分钟前
Zustand 状态管理库完全指南 - 进阶篇
前端·react.js