Тот же шаблон работает с chokidar-cli, но не работает с chokidar на windows

Здравствуйте, я пытаюсь настроить chokidar на Windows. Я должен работать с этим chokidar-cliэто командная строка, которая правильно сообщает о событиях:

 chokidar "D:\PATH\**\WATCHED_FOLDER\*.TXT"

Но когда я пытаюсь сделать то же самое с node index.js, с помощью следующего кода, о событиях не сообщается.

const chokidar = require('chokidar');
chokidar
    .watch('D:\\PATH\\**\\WATCHED_FOLDER\\*.TXT')
    .on('all', (event, path) => {
        console.log(event, path)
    })

Интересно, почему то же самое выражение glob работает в командной строке, а не в javascript. Также я не нашел ссылки на синтаксис, принятый chokidar на Windows.

Может кто-то указать на проблему здесь? Благодарю.

1 ответ

Решение

В то время как chokidar-cli работает с обратными слешами, chokidar требует косой черты в пути Это работает:

const chokidar = require('chokidar');
chokidar
    .watch('D:/PATH/**/WATCHED_FOLDER/*.TXT')
    .on('all', (event, path) => {
        console.log(event, path)
    })

Но будьте осторожны, строка в переменной path все еще с обратной косой чертой: например 'D:\\PATH\\SUBFOLDER\\WATCHED_FOLDER\\TEST.TXT', Это как-то противоречиво, но это работает.

Другие вопросы по тегам