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

相关推荐
大怪v几秒前
【Virtual World 02】两点一线!!!
javascript·css·html
by__csdn2 分钟前
Vue2纯前端图形验证码实现详解+源码
前端·javascript·typescript·vue·状态模式·css3·canva可画
Gomiko16 分钟前
JavaScript基础(八):函数
开发语言·javascript·ecmascript
w***375121 分钟前
Spring 核心技术解析【纯干货版】- Ⅶ:Spring 切面编程模块 Spring-Instrument 模块精讲
前端·数据库·spring
我是阿亮啊23 分钟前
搭建Vue环境遇到的问题
javascript·vue.js·npm·node.js
GISer_Jing24 分钟前
jx前端架构学习
前端·学习·架构
间彧1 小时前
Tailwind CSS详解
前端
间彧1 小时前
Headless UI详解
前端
han_2 小时前
Vue.js 为什么要推出 Vapor Mode?
前端·javascript·vue.js
oden2 小时前
AI重构10000行老代码:2周完成1个月工作量的真实复盘
前端·aigc·ai编程