Chokidarでglobパターンを使ってハマったこと
3057 ワード
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
Author And Source
この問題について(Chokidarでglobパターンを使ってハマったこと), 我々は、より多くの情報をここで見つけました https://qiita.com/grinpeaceman/items/126ef38b8416cfb45062著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .