Electron + Vue 进程通信
在Electron中,主进程和渲染进程(通常是在渲染进程中运行的Vue应用)之间的通信可以通过ipcRenderer
和ipcMain
模块来实现。以下是一个简单的例子,展示了如何在Electron的主进程和渲染进程之间发送和接收消息。
主进程 (main.js
):
const { app, BrowserWindow, ipcMain } = require('electron');
let mainWindow;
function createWindow() {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
}
});
mainWindow.loadFile('index.html');
ipcMain.on('message-from-renderer', (event, arg) => {
console.log(arg); // 将会打印 'Hello from Vue!'
event.reply('message-to-renderer', 'Hello back to Vue!');
});
}
app.on('ready', createWindow);
渲染进程 (Renderer Process
或 Vue
组件):
const { ipcRenderer } = require('electron');
ipcRenderer.on('message-to-renderer', (event, arg) => {
console.log(arg); // 将会打印 'Hello back to Vue!'
});
ipcRenderer.send('message-from-renderer', 'Hello from Vue!');
在这个例子中,主进程监听了名为message-from-renderer
的事件,并在接收到消息时回复一个名为message-to-renderer
的消息。渲染进程则发送一个名为message-from-renderer
的消息,并在接收到回复时处理它。这就是Electron中进程间通信的基本方式。
评论已关闭