electron中process.stdin.on(‘data)监听不到主进程传递的数据
时间: 2023-11-22 15:55:08 浏览: 72
在 Electron 中,`process.stdin` 并不是一个标准的 Node.js 可读流。如果你想要监听主进程传递给子进程的数据,可以使用 Electron 的 `ipcMain` 和 `ipcRenderer` 模块来实现进程间通信。
以下是一个简单的例子,演示了如何在主进程和子进程之间进行通信:
在主进程中:
```javascript
const { app, BrowserWindow, ipcMain } = require('electron');
let mainWindow;
app.on('ready', () => {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
}
});
mainWindow.loadFile('index.html');
// 监听子进程发送的消息
ipcMain.on('message-from-child', (event, message) => {
console.log(`Received message from child process: ${message}`);
});
});
```
在子进程中:
```javascript
const { ipcRenderer } = require('electron');
// 发送消息给主进程
ipcRenderer.send('message-from-child', 'Hello, main process!');
```
在这个例子中,我们在主进程中创建了一个 `BrowserWindow` 并加载了一个 `index.html` 文件。在主进程中使用 `ipcMain.on` 监听子进程发送的消息,并在控制台中打印出来。在子进程中,我们使用 `ipcRenderer.send` 向主进程发送消息。注意,我们需要在子进程中引入 `ipcRenderer` 模块。
希望这个例子可以帮助你解决问题。
阅读全文