Nr_NarumiumElectronの基本構成とプロセス間通信Tweet定期的にAPIから取得したデータをチャート化してみたくなった。node.jsだけでもいいけれど、electronで使いやすくしたい。パッケージマネージャーはyarnを使いますがサンプル通りnpmでも問題ないです。6.0.7Electronとはhttps://electronjs.org/以前に若干触れましたがデスクトップアプリを作れるフレームワークです。アプリ内でサーバ側処理とフロント側処理を書けます。electron-packagerpackage.jsonを適当に編集。"^14.0.5"}}srcフォルダを作ってその中にファイルを作っていきます。index.htmlとmain.js、preload.jsを公式のクイックスタートからとってきます。この中にもelectron実行用のpackage.jsonを作ります。"main.js"}ここまででファイル構成はこんな感じ。現時点でrenderer.jsはないですが特に問題ないです。build:winでアプリビルドが出来ればOK。メインプロセスとレンダラプロセスのやり取りipcMainとipcRendererを使ってプロセス間の送受信をします。ちなみに何も考えずにやるなら公式APIサンプル通りやるのが簡単。メインプロセス(main.js)を変更していきます。開発者ツール用}nodeIntegrationはレンダラプロセスでrequire()を使うためにtrueに(参考)。セキュリティ的によくないというのも見かけてfalseに。次にcontextIsolation:falseにすることでwindowオブジェクトを共通化してpreload.jsで設定する方法もしてみました。ipcRenderer;しかしこれもXSSの危険があるとかでtrueにしました。最終的にこんな感じに。"ok");});本当にこれでいいんだろうか。以下のログが出ていれば成功です。messageただこの例だと肝心のメッセージが送れていないので、postMessageで送るのはJSONにしたりする必要がありそうです。上の例から漏れましたがメイン→プロセスの送信はBrowserWindowから。renderer");全体的なイメージはこんな感じ。そもそも個人で使うならこんなセキュリティ気にする必要は全くないのですが、まぁそこは勉強をかねて。コメントをキャンセルメールアドレスが公開されることはありません。