2016.12.26
Node.jsでファイル監視を行うchokidarを使ってみよう
こんにちは、dotstudio代表ののびすけです。
Node.jsでコマンドラインツール作るときに使いやすいreadline-syncに続いて、Node.jsのモジュール紹介です。
Gitなどを用いて開発を行っていると「ファイルの変更を検知して何かを実行したい」という場面があります。 今日はそんな場面で活用できるファイル監視を行うモジュールを紹介します。
執筆時点のマシンスペック
- macOS Sierra (v10.12)
- Node.js v6.6.0
何か不具合があったときに参照してください。
インストール
URL: chokidar
npm init
でpackage.json
を作成してから進めます。
npm init --yes
npm i --save chokidar
サンプルを動かしてみる
ファイル監視
app.jsを作成します。
const chokidar = require('chokidar');
// One-liner for current directory, ignores .dotfiles
chokidar.watch('.', {ignored: /[\/\\]\./}).on('all', (event, path) => {
console.log(event, path);
});
app.jsを保存したらアプリケーションを起動しましょう。
node app
これで、nodeコマンドを実行したディレクトリ以下のファイルを監視しはじめます。
先ほど実行したnpm init --yes
でpackage.json
が作成されます。app.js
を実行したままpackage.json
を編集してみましょう。
このように、変更があったファイルを検知してくれます。
・
・
・
change package.json
おわりに
chokidarを使ってファイル監視して「特定のファイルが更新されたら〇〇する」というトリガーを簡単に作れます。
プロジェクト管理などで活用してみてください。
それでは。