2022年3月2日こんにちは、MSKです。Electronに興味が出たので勉強中です。その途中でレンダラープロセスからメインプロセスの機能を扱う部分が、動かず苦労しました。原因と解決策を備忘録として残します。「Electronではじめるデスクトップアプリケーション開発」でElectronについて勉強をしています。説明されていて、入門としては良い本だと思います。リンクもともと、僕は業務でC#を使ってWindowアプリケーションを作成していましたが、モダンなWeb技術を使った開発も取り入れてみたいと思って、今更ながらElectronに入門してみました。v12.xを使っているのであれば、この本のコードをそのまま使ってしまうと動きません。この本はv10.xをベースにしているので最新のものとは少し違う部分があるということには注意しないといけません。definedとエラーが出力されます。(エラーを見るためには以下でコメントアウトしている行のコメントを外せばよいです。v12で大きな変更があり、簡単に言うとレンダラープロセスからNode.jsの機能が呼び出せなくなりました。このあたりのドキュメント参照。v12以降は次のように書くことになります。メインプロセス側では次のようにpreload.jsを設定します。win.loadFile("index.html");}app.whenReady().then(createWindow);preload.jsには次のようにcontextBridge.exposeInMainWorldにAPIを登録します。メインプロセスとレンダラープロセスの間の橋渡しとなるコードを書きます。})最後にレンダラープロセスでは登録したtestapiのcreateNewWinをwindow.testapi.createNewWinとして呼び出します。</body></html>ボタンを押すと新しいウィンドウが作られます。最後に勉強初めてすぐに動かなくて、結構苦労しました。そもそもC#とか組み込みとか、そんなに変更の速度が速くないので、面食らいました。苦労はしましたが、今のところElectron、なかなか面白いです。作ってみたいアプリもいくつかあるので、さっさと基本マスターしてどんどん作っていこうと思っています。新しい発見などがあったら記事にしたいと思います。最後までご覧いただき、ありがとうございます。definedが発生する・・・」でした。MEMSK九州在住の組み込み系エンジニアです。2児の父親でもあります。数学やプログラミングが趣味です。最近RustとReact、結び目理論と曲面結び目理論にはまっています。Pythonエンジニア認定基礎試験を受けてみて!C言語の学習におすすめの本3選!組み込み系エンジニアMSKソフトウェア関連の技術が好きな30代男性です。最近は、Webアプリ開発にチャレンジ中。