首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过电子渲染过程发送信息

通过电子渲染过程发送信息
EN

Stack Overflow用户
提问于 2020-09-14 20:28:22
回答 2查看 130关注 0票数 1

我正在使用电子构建一个简单的桌面应用程序,但这里的问题是,每当我试图将消息发送到一个名为“test”的通道时,它就会工作,但类似地,如果我试图向频道“jest”发送消息,则没有使用react的输出,而且我启用了nodeintegration,这是代码。

代码语言:javascript
复制
    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);
})

这是我所称的

代码语言:javascript
复制
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};

我做错什么了

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-18 14:20:38

这个问题是通过将一些通道调用移到主脚本的顶部解决的。我不知道是什么原因造成的,但现在一切都很好

票数 0
EN

Stack Overflow用户

发布于 2020-09-15 04:30:03

.on()的第一个参数是通道,它是如何识别ipcRenderer和ipcMain之间的连接的。为了在他们之间交谈,他们必须是同一个

这一行是寻找"test",您需要为"jest"再做一个。

代码语言:javascript
复制
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);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63891424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档