2017-01-11 10 views
1

IPCを簡素化し、単一のWebページとnode.jsプロセス間のデータマーシャリングを行うためのツールはありますか?電子機器でIPCを簡素化するツール

私が読んでいる:nw.jsと電子との違いを概観http://tangiblejs.com/posts/nw-js-and-electron-compared-2016-edition

を。どちらもほぼ同じように見えますが、必要がない場合は複雑さを最小限に抑えたいので、IPCの問題を避けるためにnw.jsに目を向けています。

しかし、これは私がNW.JS

とは対照的に、このグループに電子を扱って10倍以上のコメントを参照してくださいので、(私のIDEは今NWの拡張子を持っているVisual Studioのコードになります、間違いかもしれません。 JSデバッグですが、エレクトロンはありません)。

答えて

2

NWJSは、その理由から、またchrome.serialをサポートしていたため、使用を開始しました。最近、私はいくつかの理由のために電子するプロジェクト変換:ボード上の

あなたはNWJSがメイン/レンダリングプロセスの複雑さを持っていませんが、私はIPCに対処するために持っていることは非常にいくつかの理由を見つけたということですね。

APIの多くはメインプロセスでのみ利用可能ですが、remote API経由でアクセスできます。私はいくつかのIPCのことを行うために持っていたが、電子はこれを簡素化するためのライブラリを持っている私のindex.jsで

{process} = require('electron').remote 
process.argv ... 

:だからからメインprocess.argvへのアクセスを取得する例えば、私が使用しプロセスをレンダリング:

ipcRenderer.on('open-instance', (event, arg) => { 
    this.restoreAndFocus(); 
    // TODO - handle another instance opening a file from explorer 
}); 
+0

例:

// 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); }) 

はその後、私のレンダラのコードのどこかに私は以下の持っていますセルント。あなたはデバッグのための良いワークフローを見たことがありますか?私はIDEとしてvscodeを好む傾向があります。私は主なprocのデバッグについてのドキュメントを参照してください。しかし、反応と還元をもたらすレンダリングプロセスでは、何をお勧めしますか? –

+0

私はvscodeも使用しています。 'Debugger for Chrome'エクステンションをインストールしてください。ここに私のlaunch.jsonがあります:https://gist.github.com/timfish/d88fc03a221514bfe5de811eff8861c4おそらく、あなたのセットアップのためのソースマップを得るためのパスを使いこなす必要があります。私にとってブレークポイントとデバッグは、TypeScriptソースで動作しています! – Tim

+0

上記は、レンダリングプロセスのみをデバッグするためのものです。私のメインのプロセスコードはとても短く、私はそれをデバッグする必要はありませんでした.... – Tim