Electron preload 脚本
preload 脚本位于 main 与 renderer 之间,是 Electron 中暴露受控能力、建立安全桥接的关键层。
#tech / dev / desktop
#resource / electron
#type / concept
#status / growing
[!info] related notes
- 所属 MOC: Electron MOC
- 前置概念: Electron 渲染进程, Electron contextIsolation
- 并列概念: Electron contextBridge, Electron IPC 模式, Electron BrowserWindow
- 易混淆概念: Electron 渲染进程
- 关系笔记: Electron
Electron preload 脚本
一句话定义
preload 是 Electron 中位于主进程和页面之间的受控桥梁,用来把少量、经过约束的能力暴露给渲染层。
核心内容
为什么它是工程分水岭
preload 同时连接两边:
- 一边接近高权限能力
- 一边贴近页面运行环境
所以它决定了:
- 页面最终能拿到什么能力
- 这些能力是不是白名单
- 参数和返回值是不是可控
它最适合做什么
- 用
contextBridge暴露窄接口 - 对 IPC 调用做最小化封装
- 在页面和高权限能力之间建立明确边界
它不该做什么
- 不应把整个
ipcRenderer直接透给页面 - 不应把 preload 写成“万能透传层”
- 不应把完整 Node 能力无选择暴露给 renderer
边界与易混淆点
- preload 不是普通前端初始化脚本
- preload 的价值不在于“能不能访问 Node”,而在于“怎样安全地暴露能力”
- preload 过胖,往往意味着边界开始失控