問題タブ [ipcrenderer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Electron アプリ: TypeError fs.existsSync は関数ではありません
React と SQLite3 を使用して、Electron でデスクトップ アプリケーションを構築しています。私の構成は次のとおりです。
- ノード: v14.17.4
- 電子: 13.2.1
- 反応: 17.0.2
- sqlite3: ^5.0.2
反応で構築されたボタンを押すことでSQLite3データベースに行を挿入できるようにするために、メイン側とレンダラー側の間の通信を有効にしようとしています。これを行うには、ipcmain と ipcrenderer を使用しようとしていますが、命令を使用するとconst electron = require ("electron");
エラーが発生します: TypeError: fs.existsSync is not a function
.
コマンドを使用してnpm run start
、アプリケーションを開発モードで実行しています。
パッケージ.json
main.js
reactjs - fs.existsSync が関数ではない問題を解決するにはどうすればよいですか?
電子と反応の間で通信しようとすると、上記のエラーが発生します。
私のApp.js
ファイルでは:これがエラーの原因です。
私は2つの電子ファイルを持っています。スターター(メイン)&プリロード。
私はすでにいくつかのことを試しました。
これをプリロードファイルに追加しましたが、それでもエラーが発生します。
スターター (メイン) ファイル内:
追加されたエラー スタック:
javascript - ipcRenderer が webContents.send (Electron) からメッセージを受信しない
私のプログラムのメイン ウィンドウには、クリックすると新しい追加のウィンドウを作成するボタンがあります。この新しいウィンドウの読み込みが完了したら、メッセージを送信したいと思いますipcRenderer
。ただし、ipcRenderer
ウィンドウが正常に作成されたにもかかわらず、これまでのところメッセージを受信できるようにすることはできませんでした。
のコードのスニペットを次に示しますmain.js
。
createWindow
は、ブラウザ ウィンドウを作成して返す関数であることに注意してください。
のコードのスニペットを次に示しますpreload.js
。
ご覧のとおりreceived message!
、新しいウィンドウの読み込みが完了した後、コンソールで文字列を受け取ることを期待しています。ただし、これは起こっていません。私は何を間違っていますか?