preload 脚本 如何把主进程的变量传递给渲染进程
时间: 2023-12-10 07:41:00 浏览: 29
在 Electron 中,可以使用 `preload` 脚本将主进程中的变量传递给渲染进程。具体步骤如下:
1. 在主进程中创建一个全局变量,例如:
```javascript
global.sharedObject = {
someProperty: 'Hello World!'
}
```
2. 在渲染进程中使用 `preload` 脚本加载这个变量,例如:
```javascript
const { remote } = require('electron');
const someProperty = remote.getGlobal('sharedObject').someProperty;
console.log(someProperty); // 输出 'Hello World!'
```
注意,这里使用了 `remote` 模块来获取主进程中的全局变量。
3. 在创建 BrowserWindow 时,将 `preload` 脚本指定为参数,例如:
```javascript
const mainWindow = new BrowserWindow({
webPreferences: {
nodeIntegration: false, // 禁用 Node.js
preload: path.join(__dirname, 'preload.js') // 指定 preload 脚本路径
}
})
```
这样,在渲染进程中就可以通过 `preload` 脚本访问主进程中的变量了。