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

相关推荐
Apifox3 分钟前
Apifox 11 月更新|AI 生成测试用例能力持续升级、JSON Body 自动补全、支持为响应组件添加描述和 Header
前端·后端·测试
木易士心3 分钟前
深入剖析:按下 F5 后,浏览器前端究竟发生了什么?
前端·javascript
在掘金801105 分钟前
vue3中使用medium-zoom
前端·vue.js
xump27 分钟前
如何在DevTools选中调试一个实时交互才能显示的元素样式
前端·javascript·css
折翅嘀皇虫28 分钟前
fastdds.type_propagation 详解
java·服务器·前端
Front_Yue29 分钟前
深入探究跨域请求及其解决方案
前端·javascript
wordbaby31 分钟前
React Native 进阶实战:基于 Server-Driven UI 的动态表单架构设计
前端·react native·react.js
抱琴_31 分钟前
【Vue3】我用 Vue 封装了个 ECharts Hooks,同事看了直接拿去复用
前端·vue.js
风止何安啊33 分钟前
JS 里的 “变量租房记”:闭包是咋把变量 “扣” 下来的?
前端·javascript·node.js
Danny_FD38 分钟前
用 ECharts markLine 标注节假日
前端·echarts