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

相关推荐
bug-1008610 小时前
hooks,mixin,pinia,vuex
前端·vue.js
lqj_本人10 小时前
鸿蒙electron跨端框架PC墨案写作实战:把 Markdown 正文区做成桌面写作的中心
华为·electron·harmonyos
阿正的梦工坊10 小时前
【Typescript】04-数组元组枚举与字面量类型
javascript·ubuntu·typescript
神奇小汤圆10 小时前
自己用 ai 写了个链接 mysql 数据库的 mcp 工具
javascript
ai安歌10 小时前
鸿蒙PC:鸿蒙electron跨端框架PC影像巡检台实战:把图片管理做成可复核的本地工作流
华为·electron·harmonyos
Shirley~~10 小时前
npm包发布与 dist-tag 管理指南
前端·npm·node.js
Csvn10 小时前
前端可视化入门:Canvas、SVG 与 D3.js 基础
前端·d3.js
bug-1008610 小时前
vue2和vue3的路由变化
前端·vue.js
百数平台10 小时前
功能更新——百数详情页“数据简报”与“关联标签页”配置指南
java·服务器·前端
Csvn10 小时前
前端技术 - 3D 图形基础
前端·d3.js