ipcMain 模块的作用是在主进程中监听和处理从渲染进程发送过来的 IPC 消息。这使得你可以在主进程中执行一些操作,然后将结果发送回渲染进程,实现进程之间的数据传递和通信。
以下是一个简单的示例,演示了如何在主进程中使用 ipcMain 监听来自渲染进程的消息:
在主进程的主文件中(通常是 main.js 或 index.js):
const { app, BrowserWindow, ipcMain } = require('electron');
let mainWindow;
app.on('ready', () => {
mainWindow = new BrowserWindow({ width: 800, height: 600 });
mainWindow.loadFile('index.html'); // 加载你的 HTML 文件
// 监听渲染进程发来的消息
ipcMain.on('message-from-renderer', (event, arg) => {
console.log('Received message from renderer:', arg);
// 在这里可以执行一些操作,然后将结果发送回渲染进程
event.sender.send('message-to-renderer', 'Hello from main process!');
});
});
在渲染进程的 HTML 文件中,你可以使用 ipcRenderer 模块发送消息到主进程,并接收主进程的响应:
<!DOCTYPE html>
<html>
<body>
<script>
const { ipcRenderer } = require('electron');
// 发送消息到主进程
ipcRenderer.send('message-from-renderer', 'Hello from renderer process!');
// 监听主进程的响应
ipcRenderer.on('message-to-renderer', (event, arg) => {
console.log('Received message from main process:', arg);
});
</script>
</body>
</html>
这只是一个简单的例子,你可以根据自己的应用场景和需求使用 ipcMain 和 ipcRenderer 进行更复杂的进程间通信。
转载请注明出处:http://www.zyzy.cn/article/detail/10921/Electron