Tauri で開発中に src-tauri 内のファイルに変更があるとリビルドが走る

経緯

表題の通り、 Tauri で開発中 (yarn tauri dev 実行中) に、 src-tauri 内のファイルに変更があると以下のメッセージが表示されて意図せずリビルドが走ってしまう現象に遭遇したのでメモ。

Info File src-tauri/hoge-somefile.txt changed. Rebuilding application…

今回は Tauri アプリを実行して画面内で入力を受け付けると、その内容に応じてアプリ実行ディレクトリ内にファイルを生成するプログラムを作成していました。

開発中に src-tauri 内のファイルを監視していて、変更があるとリビルドされる……というのはホットリロードとしてそうあるべきだとは思うのですが今回はそれがプログラム自身が生成したファイルも監視ディレクトリ内に生まれたり上書きされたりするせいで意図しない結果になったわけですね。

そこに気付くまでは「何故勝手に落ちてまた復活する、しかもエラーは吐いていないし……」と悩むことになってしまいました……。

対処

.env.tauriignore というファイルを用意することで、 Tauri の監視対象から除外できるようです。

注意点としてはこの2つのファイルの配置場所ですが、 Tauri のアプリプロジェクトのルートディレクトリではなく、 tauri.conf.json のある場所……つまり、 src-tauri ディレクトリの中に用意する、ということ。

.env

TAURI_DEV_WATCHER_IGNORE_FILE=.taurignore

.tauriignore ファイルの指定です。今回は同じ階層に置いたのでディレクトリパスはなくファイル名のみで。

.tauriignore

dist/fuga-file.txt
hoge-somefile.txt

.tauriignore ファイルのある場所からの相対パスで監視対象から除外するファイルを指定します。構文は .gitignore 等と同様のようです。

これで意図しないリビルドを防ぐことができるようになりました。

参考

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。