経緯
表題の通り、 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
等と同様のようです。
これで意図しないリビルドを防ぐことができるようになりました。