什么是Electron 的预加载脚本?

8 min read

Electron 的预加载脚本是一段在主进程运行的代码,它在渲染进程执行任何其他页面脚本之前加载。预加载脚本可以用于在渲染进程中注入自定义的 JavaScript API,从而扩展 Electron 的功能。

通过预加载脚本,可以在渲染进程中访问一些原本只能在主进程中使用的 Electron 模块,如文件系统、底层操作系统 API 等。这样,开发者可以在渲染进程中直接使用这些模块,而无需通过 IPC(进程间通信)与主进程进行交互。

预加载脚本可以通过在 webPreferences 对象的 preload 属性中指定。例如:

// 在主进程中的 BrowserWindow 对象中设置预加载脚本
const win = new BrowserWindow({
  webPreferences: {
    preload: path.join(__dirname, 'preload.js')
  }
});

预加载脚本需要在渲染进程页面中使用 window.contextBridge 进行暴露,以确保安全性。这样,渲染进程只能访问开发者明确定义的 API,避免了恶意代码对系统的滥用。

预加载脚本提供了一种在渲染进程中访问底层 Electron 功能的灵活机制,可用于增强和定制 Electron 应用程序的功能。