質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Electron

Electronは、HTML5とNode.jsというWebの技術を用いてデスクトップアプリケーションを作成できるクロスプラットフォームな実行環境です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

解決済

1回答

2818閲覧

electronでファイルが変更されたら自動でアプリを再起動したい

nerunoda

総合スコア7

Electron

Electronは、HTML5とNode.jsというWebの技術を用いてデスクトップアプリケーションを作成できるクロスプラットフォームな実行環境です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

0クリップ

投稿2020/04/29 08:05

前提・実現したいこと

electronでアプリを作っています。
ルート以下の何らかのファイル(例えば.csvや.txtなど)が変更されたら自動でアプリを再起動させる機能を実装したいです。

試したこと

  • mainWindow.reload()

これはrenderer側の変更のみに対応しているみたいで、main側などの変更には対応していませんでした。

  • electron-reloadモジュール

これはmain側の変更にも対応していたのですが、公式ドキュメントや検索して出てくる文献を参考にしても動きませんでした。

以下の3つは試してみたコードです。

1.ファイルを変更しても再起動しませんでした。

main

1require("electron-reload")(監視対象のファイルのパス, { 2 electron: path.join(path.dirname(__dirname), "node_modules", ".bin", "electron") 3});

2.同様に、ファイルを変更しても再起動しませんでした。

main

1require("electron-reload")(監視対象のファイルのパス, { 2 electron: path.join(path.dirname(__dirname), "node_modules", ".bin", "electron"), 3 hardResetMethod: "exit" 4});

3.ファイルを変更するとアプリが終了するだけで、再起動はしませんでした。

main

1require("electron-reload")(監視対象のファイルのパス, { 2 electron: path.join(path.dirname(__dirname), "node_modules", ".bin", "electron"), 3 forceHardReset: true 4});

回答いただければと思います。
よろしくお願いします。

補足情報(FW/ツールのバージョンなど)

electron : 8.0.2
electron-reload : 1.5.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

js

1fs.watchFile(監視対象のパス,()=>{ // 監視対象が変更されたら 2 mainWindow.reload(); // mainWindow(rendererプロセス)をreloadする 3});

で解決しました。

fs.watch()だとなぜか2回呼び出される(バグらしい?)ので、公式非推奨ですがfs.watchFile()を使用しています。

投稿2020/05/07 04:59

nerunoda

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問