Electron preload 脚本

preload 脚本位于 main 与 renderer 之间,是 Electron 中暴露受控能力、建立安全桥接的关键层。

#tech / dev / desktop #resource / electron #type / concept #status / growing

[!info] related notes

Electron preload 脚本

一句话定义

preload 是 Electron 中位于主进程和页面之间的受控桥梁,用来把少量、经过约束的能力暴露给渲染层。

核心内容

为什么它是工程分水岭

preload 同时连接两边:

  • 一边接近高权限能力
  • 一边贴近页面运行环境

所以它决定了:

  • 页面最终能拿到什么能力
  • 这些能力是不是白名单
  • 参数和返回值是不是可控

它最适合做什么

  • contextBridge 暴露窄接口
  • 对 IPC 调用做最小化封装
  • 在页面和高权限能力之间建立明确边界

它不该做什么

  • 不应把整个 ipcRenderer 直接透给页面
  • 不应把 preload 写成“万能透传层”
  • 不应把完整 Node 能力无选择暴露给 renderer

边界与易混淆点

  • preload 不是普通前端初始化脚本
  • preload 的价值不在于“能不能访问 Node”,而在于“怎样安全地暴露能力”
  • preload 过胖,往往意味着边界开始失控
创建于 2026/4/13 更新于 2026/5/27