他们是否有任何工具可以简化IPC并在单个网页和node.js进程之间进行数据编组?
我看过:http://tangiblejs.com/posts/nw-js-and-electron-compared-2016-edition
概述了nw.js与电子之间的差异。两者看起来几乎相同,但我喜欢在不需要时最小化复杂性,所以我倾向于nw.js以避免IPC的问题。
但这可能是一个错误,因为我看到这个组中有超过10倍的关于电子的评论而不是NW.JS
(我的IDE将是Visual Studio Code,现在有一个NW.JS调试的扩展,但没有Electron的扩展。)
答案 0 :(得分:2)
由于这个原因我们开始使用NWJS,也因为它支持chrome.serial
。最近我将项目转换为电子,原因如下:
你是对的,NWJS没有主要/渲染过程的复杂性,但我发现很少有理由要处理IPC。
许多API仅在主过程中可用,但可以通过remote API访问。例如,要使用呈现流程访问主 process.argv
,我会使用:
{process} = require('electron').remote
process.argv ...
在我的index.js中,我不得不做一些IPC的事情,但电子有图书馆来简化这个:
// 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
});