我正在使用电子构建一个简单的桌面应用程序,但这里的问题是,每当我试图将消息发送到一个名为“test”的通道时,它就会工作,但类似地,如果我试图向频道“jest”发送消息,则没有使用react的输出,而且我启用了nodeintegration,这是代码。
mainWindow = new BrowserWindow({
width: 1200,
height: 600,
webPreferences: {
nodeIntegration: true,
preload: path.join(__dirname, '\\preload.js')
},
});
mainWindow.loadURL(
electronIsDev
? 'http://localhost:3000'
: `file://${path.join(__dirname, '../build/index.html')}`
);
mainWindow.on('closed', () => {
mainWindow = null;
})
}
app.on('ready', createWindow)
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', () => {
if (mainWindow === null) {
createWindow()
}
})
electron.ipcMain.on('test', (event) => {
console.log("listener is working");
getWeekList(event);
})这是我所称的
console.log('preload is working');
const test = () => {
console.log("test here");
ipcRenderer.send('test');
}
const jest = () => {
console.log("jest here");
ipcRenderer.send('jest');
}
module.exports = {test, jest};我做错什么了
发布于 2020-09-18 14:20:38
这个问题是通过将一些通道调用移到主脚本的顶部解决的。我不知道是什么原因造成的,但现在一切都很好
发布于 2020-09-15 04:30:03
.on()的第一个参数是通道,它是如何识别ipcRenderer和ipcMain之间的连接的。为了在他们之间交谈,他们必须是同一个。
这一行是寻找"test",您需要为"jest"再做一个。
electron.ipcMain.on('test', (event) => {
console.log("listener is working");
getWeekList(event);
});
// add this one
electron.ipcMain.on('jest', (event) => {
console.log("listener is working");
getWeekList(event);
});https://stackoverflow.com/questions/63891424
复制相似问题