Electron 获取串口列表

参考源码:
在这里插入图片描述
报错:
在这里插入图片描述
原因:
在这里插入图片描述
修改为:
contextIsolation: false,

对上下文隔离理解不清,点击查看API

学习笔记:
上下文隔离确保预加载脚本和Electron内部逻辑运行所在的webcontent网页之外的另一个独立上下文环境里。预加载脚本访问window对象并不是网站所能访问的对象。自Electron12以来,默认开启上下文隔离,并且它是所有应用推荐的安全设置。

上下文隔离禁用时,渲染进程中,预加载脚本暴露给已加载页面API是常见的使用方式。
preload.js
window.myAPI = {doAThing: ()=>{}}
renderer.js
window.myAPI.doAThing()

上下文隔离启用时,Electron提供contextBridge模块用来安全地从独立运行、上下文隔离的预加载中暴露API给正在运行的渲染进程。
preload.js
const {contextBridge} = require(‘electron’)
contextBrige.exposeInMainWorld(‘myAPI’,{
doAThing:()=>{}})

renderer.js
window.myAPI.doAthing()

注意安全事项:开启contextIsolation后,contextBridge中直接暴露没有任何参数过滤的高等级权限API不安全,正确方法是为每一种通信消息提供一种实现方法。
错误例子:
contextBridge.exposeInMainWorld(‘myAPI’,{
send:ipcRenderer.send
})

正确例子:
contextBridge.exposeInMainWorld(‘myAPI’,{
loadPreferences:()=> ipcRenderer.invoke(‘load-prefs’)
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值