我的GitHub
0%

无星的electron之旅(二)——进程间通信

进程间通信用ipcRenderer,ipcMain官网写的很清楚

但问题在于,我使用vue-cli-plugin-electron-builder引入electron

想做进程间通信

import {ipcRenderer} from ‘electron’

引入一直报错

原因如下

插件文档

方式一:Node Integration

1
2
3
4
5
6
7
8
# vue.config.js
module.exports = {
pluginOptions: {
electronBuilder: {
nodeIntegration: true
}
}
}

方式二:预加载

1.在src下新建一个js

1
2
3
4
# ./src/preload.js

import { ipcRenderer } from 'electron'
window.ipcRenderer = ipcRenderer

2.修改vue.config.js

1
2
3
4
5
6
7
8
# ./vue.config.js
module.exports = {
pluginOptions: {
electronBuilder: {
preload: 'src/preload.js',
}
}
}

3.修改主进程文件

1
2
3
4
5
6
7
8
9
10
11
# ./src/background.js

const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,
// 注意这一行,这一行是新增的
+ preload: path.join(__dirname, 'preload.js')
}
})

4.使用

1
window.ipcRenderer即可
我是阿星,阿星的阿,阿星的星!