Electron 中 preload 模块最为重要,它的源码逻辑如下:
- 首先 electron 中封装了 c++ 模块对接 node.js 的 addon 模块,方法是:在头文件中标注了:#include <node/addon.h>
- 此 c++ 模块将 app 实例绑定 (linkedBinding) 到 process 上,app 实例中有
exposeAPIInWorld
方法 - 接着
contextBridge
中的expostInMainWorld
方法返回的是process.linkedBinding.exposeAPIInWorld
方法。
Electron pdf 笔记