はじめてのelectronアプリケーションを開発中、「ファイルに書き込みを行うとウィンドウが初期化される?」という挙動が発生しました。
雑にググったら見事に同じことではまって自己解決した方の話を見つけたのでメモします。
原因
electron-reload
でした。
開発向けには、ファイルが変更されたらリロードされると便利ということで electron-reload
の導入が行われることが多いようで、私も何かの記事を読んだ際に導入していました。
さらに具体的に何が悪かったかというと、プロジェクトディレクトリ(node_modules/
とメインファイルを除く)のすべてがデフォルトの監視対象であるということでした。
対策
options一覧に何故か書かれていませんが、無視するファイルを指定するオプションがありました。 オプション未指定の場合は以下のようになるようです。
{ignored: /node_modules|[\/\\]\./, argv: []}
これは、内部的には chokidar
のignoredに渡されているようです。
前述の例は、node_modulesとdotfilesを無視したいようです*1
なので、追加で out/
以下を無視したい場合は以下のようになることが考えられます。
{ignored: /out|node_modules|^[\/\\]\./, argv: []}
このオプションを第2引数に与えたところ、今のところはout/
以下に書き出す分には問題になっていません。
*1:^がないのでうまく動いてるかは知らない