在 preload.js 文件中,你可以定义一些全局的函数、变量或者注入一些自定义的 API 到渲染进程的全局环境中,供 Vue 组件或页面中的 JavaScript 代码使用
// 在 preload.js 文件中引入必要的模块
const { ipcRenderer, contextBridge } = require('electron');
// 自定义的 API,供渲染进程中的 JavaScript 代码使用
const myAPI = {
sendToMain: (channel, data) => {
ipcRenderer.send(channel, data);
},
receiveFromMain: (channel, callback) => {
ipcRenderer.on(channel, (event, data) => {
callback(data);
});
}
};
// 将自定义的 API 注入到渲染进程的全局环境中
contextBridge.exposeInMainWorld('myAPI', myAPI);
preload.js 文件通常用于预加载脚本,允许你在渲染进程中访问 Node.js 的 API 和 Electron 的 API,以及在主进程和渲染进程之间进行通信
上述示例中,我们引入了 Electron 的 ipcRenderer 模块,用于在渲染进程和主进程之间进行通信。然后定义了一个名为 myAPI 的对象,其中包含了两个方法:sendToMain 和 receiveFromMain,用于发送和接收消息。
最后,使用 contextBridge.exposeInMainWorld 方法将 myAPI 对象注入到渲染进程的全局环境中,使得在 Vue 组件或页面的 JavaScript 代码中可以直接访问和使用 myAPI 对象
在 Vue 的渲染进程代码中,你可以通过在组件中使用 window.myAPI
来访问和调用预加载的自定义 API。