gpt4 book ai didi

electron - 在 Electron 中简化 IPC 的工具

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

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

3年前关闭。




Improve this question




他们是否有任何工具可以简化 IPC 并在单个网页和 node.js 进程之间进行数据编码?

我已阅读:http://tangiblejs.com/posts/nw-js-and-electron-compared-2016-edition

其中概述了 nw.js 和 Electron 之间的差异。两者看起来几乎一样,但我喜欢在不需要时尽量减少复杂性,所以我倾向于使用 nw.js 来避免 IPC 的问题。

但这可能是一个错误,因为我看到这个组中涉及 Electron 的评论比 NW.JS 多 10 倍

(我的 IDE 将是 Visual Studio Code,它现在具有 NW.JS 调试扩展,但没有用于 Electron)。

最佳答案

出于这个原因,我们开始使用 NWJS,也因为它支持 chrome.serial。 .最近我将项目转换为 Electron 项目有几个原因:

  • 更多大公司加入
  • 更多提交、测试和维护
  • 更多内置功能
  • 例如,block power save
  • Better packaging tooling
  • Better test tooling

  • 没错,NWJS 没有主/渲染过程的复杂性,但我发现很少有理由必须处理 IPC。

    许多 API 仅在 中可用。主要 进程,但可以通过 remote 访问API。例如,要访问 主要 process.argv来自 渲染 我使用的过程:
    {process} = require('electron').remote
    process.argv ...

    在我的 index.js 中,我不得不做一些 IPC 的事情,但是 Electron 有库来简化这个:
    // ensure we only have a single instance, but pass args to renderer to open any files passed by explorer
    const shouldQuit = app.makeSingleInstance((argv, workingDir) => {
    win.webContents.send('open-instance', argv);
    })

    然后在我的渲染器代码中,我有以下内容:
    ipcRenderer.on('open-instance', (event, arg) => {
    this.restoreAndFocus();
    // TODO - handle another instance opening a file from explorer
    });

    关于electron - 在 Electron 中简化 IPC 的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41594687/

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