chokidar игнорировать все, кроме XML-файлов

Когда дело доходит до конфигурации Chokidar, я хочу настроить параметры. Я хотел бы игнорировать все, кроме XML-файлов.

{
    "path": "C:/... my path ...",
    "options": {
        "ignored": "everything except xml files",
        "persistent": true
    }
}

Возможное решение будет

Используйте Chokidar, чтобы найти конкретное расширение файла

но есть ли способ установить ignored атрибут файла конфигурации JSON для "игнорирования всего, кроме XML-файлов" вместо установки его по коду?


Я пытался перейти на этот код

{
    "path": "C:/...",
    "options": {
        "ignored": "!**.xml",
        "persistent": true
    }
}




const chokidar = require('chokidar');
const { path, options } = require('../fileSystemWatcherConfiguration.json');

module.exports = eventEmitter => {
    const watcher = chokidar.watch(path, options);
}

но watcher.on('add', func) событие срабатывает на каждое расширение файла.

1 ответ

Решение

Обновить

Оказывается, это действительно очень просто.

const watcher = chokidar.watch(`${path}/**/*.xml`, options);

Старый ответ

Анализируя код пакета, мы можем видеть, что chokidar использует внутреннее anymatch, чтобы решить, следует ли игнорировать файл.

Копать ковш anymatch использует micromatch и в примерах micromatch мы можем видеть, что мы можем использовать ! в начале, чтобы отрицать математику.

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