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

相关推荐
❆VE❆18 小时前
【:has()】 CSS关系性伪类介绍及实战
前端·javascript·css
先生沉默先18 小时前
TypeScript 学习项目创建_1
javascript·学习·typescript
未知鱼18 小时前
XSS、CSRF、SSRF攻击原理与防护全解析
前端·安全·web安全·网络安全·系统安全·xss·csrf
智航GIS19 小时前
9.5 XML 处理指南
xml·前端·python
颜酱19 小时前
用填充表格法-吃透01背包及其变形
前端·后端·算法
Junerver19 小时前
积极拥抱AI,ComposeHooks让你更方便地使用AI
android·前端
timeweaver19 小时前
前端也必看的Docker 核心命令与实战指南
前端·后端·架构
哒哒哒52852019 小时前
网络请求瀑布效应
前端
Mapmost19 小时前
【高斯泼溅】当3DGS遇上传统模型:从“画在一起”到“画得对”的全攻略
前端
鹿衔`19 小时前
PySpark 提交模式对比与实践推荐
前端·npm·node.js