Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Node.js24.x】Object::watchFile()メソッドの使い方

watchFileメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

watchFileメソッドは、指定されたファイルの変更を監視し、変更が検出されたときに特定の処理を実行するメソッドです。このメソッドは、指定されたファイルがディスク上で変更されたかどうかを一定間隔でポーリング(確認)することで監視を行います。ファイルサイズや最終更新日時などの統計情報を比較することで、ファイルの変更を検出します。

第一引数には監視対象のファイルパスを指定し、第二引数にはファイルに変更があったときに呼び出されるコールバック関数を指定します。このコールバック関数は、変更後のファイルの状態(現在の統計情報)と変更前のファイルの状態(以前の統計情報)を表すオブジェクトを引数として受け取ります。これにより、ファイルの内容だけでなく、ファイルの属性の変更も検知できます。

watchFileメソッドは定期的なポーリングを行うため、CPU使用率が高くなる可能性があります。そのため、通常はファイルシステムイベントを利用する、より効率的なfs.watch()メソッドの利用が推奨されますが、一部のファイルシステムや古いNode.jsバージョンとの互換性が必要な場合に利用されることがあります。ファイル監視を停止したい場合は、fs.unwatchFile()メソッドを使用します。このメソッドは、設定ファイルの変更を検知してアプリケーションを再起動させたり、ログファイルの更新を監視して特定の処理を実行したりする用途に利用できます。

構文(syntax)

1const fs = require('fs');
2
3fs.watchFile('path/to/your/file.txt', (currentStats, previousStats) => {
4  // ファイルが変更された際の処理をここに記述
5});

引数(parameters)

filename, options, listener

  • filename: string: 監視するファイルのパス
  • options: object: 監視オプションを指定するオブジェクト (省略可能)
    • persistent: boolean: プロセスが終了しないように監視を続けるか (デフォルト: true)
    • interval: number: ファイルの変更をチェックする間隔 (ミリ秒) (デフォルト: 5007)
  • listener: function: ファイルの変更を検知したときに実行されるコールバック関数

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ

関連プログラミング言語