gpt4 book ai didi

electron - ipcRenderer 没有收到来自主进程的消息

转载 作者:行者123 更新时间:2023-12-03 12:25:45 26 4
gpt4 key购买 nike

我可以看到“来自渲染器的你好”警报,但看不到“来自渲染器的再见”警报。

在 Windows 10 中运行。

而且我看不到“已收到!”警报,我应该看到 ipcRenderer.on(...) 起作用了。

index.js

const { app, BrowserWindow} = require("electron");

app.on('ready', () => {
let mainWindow = new BrowserWindow(
{
width: 800,
height: 600,
});

mainWindow.loadURL(`file://${__dirname}/index.html`);
mainWindow.webContents.on('did-finish-load', () => {
mainWindow.webContents.send("from-main", "teste");
});
});

索引.html
<html>

<head>
<title>test</title>

<script src="./renderer.js"> </script>

</head>

<body>
Wait...
</body>

</html>

渲染器.js
alert('hello from renderer');
const { ipcRenderer } = require('electron');
ipcRenderer.on('from-main', () => { alert('received!');} );
alert('goodbye from renderer');

包.json
{
"name": "xxx",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "electron ."
},
"author": "",
"license": "ISC",
"dependencies": {
"electron": "^8.0.0"
}
}

最佳答案

let mainWindow = new BrowserWindow(
{
width: 800,
height: 600,
webPreferences:{
nodeIntegration:true
}
});

请在创建浏览器窗口时添加 nodeIntegration。
您正在渲染器中使用 Node API。当您不启用 nodeIntegration 时,您将无法在渲染器 js 中使用任何节点模块。

要确认这一点,您可以从您的应用调试控制台看到此错误消息。
mainWindow.webContents.on('did-finish-load', () => {
// open dev tools
mainWindow.webContents.openDevTools()
mainWindow.webContents.send("from-main", "teste");
});
Uncaught ReferenceError: require is not defined
这意味着您在创建 browserWindow 时没有启用 nodeIntegration。

关于electron - ipcRenderer 没有收到来自主进程的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60227586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com