2017-05-29 12 views
1

フロントエンドアプリケーションのJavaScriptからElectronメソッドを呼び出す方法を理解しようとしています。メインプロセスまたはレンダラープロセスのいずれかが、最初からうまくいくでしょう。おそらく、そこから残りの部分を処理することができます。それはのように思える...FrontendからElectronメソッドを呼び出す

document.querySelector('#btn').addEventListener(() => { // doElectronStuff }); 

これは私も後だものを、非常にではありません:私は見つけることができるすべての例で

は、レンダラのコードは、フロントエンド要素にアタッチし、イベントリスナーを追加します私のDOMに到達するこの "サーバー側"のコードを持つためにかなり重大なカップリング。 Angular2フロントエンドを使用して

、私は、typescriptですマッピングとの完全な注射用として電子インターフェイスを公開ngx-electronと呼ばれる素敵なパッケージと思われるものを見つけなど

だから今、私は私がしたい角度サービスを持っています(いくつかのデータベースのものをつかむために、または任意の他)のための電子メソッドを呼び出します。

constructor(private _electron:ElectronService) {} 

getAll(): Entity[] { 
    var results = this._electron.ipcRenderer.????? 
} 

私は本当に角度サービスを作成する方法が分からない電子メソッドへの呼び出しを行います。私はemit()を実行しようとしましたが、send()などを使って試してみましたが、ipcRendererremote.ipcMainですが、さまざまなエラーが表示され、すべてがすべて接続できないようです。

私は何か簡単に欠けていますか?これらに対応するために必要な電子側構文と角度側構文の組み合わせは何ですか?おかげ

は(私はNGX-電子に特にこだわってないんだけど、それは素敵なlibが思えなかったし、私は自分のブロックを乗り越えるたら、私は...、それがうまく機能と仮定しています)

答えて

1

はそれを見つけました。いつものように、私の終わりの監督。

// in the angular service 
this._electron.ipcRenderer.send('event-aka-channel-name1', args); 

// in the electron main.js 
ipc.on('event-aka-channel-name1', (event, args) => { // doStuff }); 

私の問題は、さまざまなログを介してキャッチしたインポートのスペルが明らかでした。それが修正されると、残りの部分は意図どおりに動作します(または、少なくとも私が前進するのに十分です)。

関連する問題