LoginSignup
4
2

More than 3 years have passed since last update.

Chokidarでglobパターンを使ってハマったこと

Posted at

Chokidarはnode.jsのfs.watch, fs.watchFile, FSEventsをラッパーしたものです。ファイルやフォルダ監視をする際に、使いやすくて便利です。

Electronアプリを開発中に、chokidarを使う場面があり、ちょっとハマったところがあったので記録を残しておきます。

最初はこんな感じでchokidarを使っていました。環境はWindowsです。

const watchPath = 'C:\\user\\workspace\\download\\2019';
const watcher = chokidar.watch(watchPath, {ignoreInitial: true});
watcher.on('add', path => {
  /* 処理 */
});

上記の例ではwatchPathで指定したフォルダに対して、問題なく監視が行えていました。

次に、監視対象はglobパターンでも指定できるので、特定のファイルだけ監視ができるように変更しました。watchPathを以下のようにしました。

const watchPath = 'C:\\user\\workspace\\download\\2019\\*.json';

このようにしたところ、ファイル監視がうまく働きませんでした。

原因としては、バックスラッシュは特殊文字をエスケープするためにglobで予約されているため、バックスラッシュパスとglobパターンを組み合わせることはできないということでした。

以下のようにすれば問題なく動作しました。

const watchPath = 'C:/user/workspace/download/2019/*.json';

globパターンを使うときにはスラッシュパスを使いましょう。

参考URL

On windows, cannot watch files with some glob patterns #714

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2