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

相关推荐
m0_5287238113 小时前
如何避免多次调用同一接口
前端·javascript·vue.js·性能优化
小高00713 小时前
Elips:领域模型与 DSL 设计实践:从配置到站点的优雅映射
前端·javascript·后端
远瞻。13 小时前
【博客】前端新手如何创建自己的个人网站相册
前端·docker·博客·反向代理
青莲84313 小时前
Java并发编程基础与进阶(线程·锁·原子类·通信)
android·前端·面试
祎直向前13 小时前
linuxshell测试题
前端·chrome
嫂子的姐夫13 小时前
012-AES加解密:某勾网(参数data和响应密文)
javascript·爬虫·python·逆向·加密算法
irises13 小时前
开源项目next-ai-draw-io核心能力拆解
前端·后端·llm
irises13 小时前
通过`ai.js`与`@ai-sdk`实现前后端tool注入与交互
前端·后端·llm
德育处主任13 小时前
『NAS』部署轻量级开源图片水印工具-ImageWatermarkTool
前端·javascript·docker
程序员Agions13 小时前
TypeScript 类型体操:从入门到"真香"の完全指南
前端·javascript