node.jsでファイル監視を手軽に行えるモジュール「chokidar」
node.jsにはファイル監視を行えるAPI「fs.watch()」や「fs.watchFile()」がありますが、なんだかんだいろいろめんどくさかったりします。
【参考】Node.js の fs.watch() と fs.watchFile() の違い – てっく煮ブログ
そういったメンドクサイ部分を綺麗にラップしてファイル監視を手軽に行えるようにしたモジュールが「chokidar」です。
サンプル
スクリプトを起動したカレントディレクトリ(子ディレクトリを含む)を監視して、ファイルの追加や削除、編集などが行われたら通知します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
var chokidar = require('chokidar') var watcher = chokidar.watch('.', { //watch対象ディレクトリorファイル ignored: /[/\]./, //無視する対象 persistent:true //監視を継続するかどうか }) watcher.on('ready', function() { console.log("監視開始"); }) .on('add', function(path) { console.log("追加ファイル-> " + path); }) .on('addDir', function(path) { console.log("追加ディレクトリ-> " + path); }) .on('unlink', function(path) { console.log("削除されました-> " + path); }) .on('unlinkDir', function(path) { console.log("削除されました-> " + path); }) .on('change', function(path) { console.log("修正されました-> " + path); }) .on('error', function(error) { console.log("エラーです-> " + error); }) |
「ファイルが更新されたら○○する」みたいなスクリプトが手軽に書けて便利です。