Шаблон глобуса узла для файлов не в папках, начинающихся с подчеркивания
У меня есть структура каталогов следующим образом:
source
├── _assets
│ ├── css
│ └── js
├── _config.yaml
├── downloads
│ ├── hello2.txt
│ └── hello.txt
├── hello_world
│── robots.txt
└── favicon.ico
Я использую glob пакета узла, чтобы перечислить файлы, которые следуют за определенной моделью. Я хочу перечислить все файлы, которых нет в папке, имя которой начинается с подчеркивания![_*]. Шаблоны, которые я пробовал, включают в себя различные комбинации
const pattern1 = `${sourceDirPath}/!(_*)**`
const pattern2 = `${sourceDirPath}/!(_*)/**`
pattern1
только дает мне файлы, такие как [source/robots.txt, source/favicon.ico]
в то время как pattern2
только дает мне файлы, такие как [source/downloads/hello.txt, source/downloads/hello2.txt]
Может кто-нибудь дать мне подсказку, какой шаблон позволит мне иметь файлы из обоих шаблонов? Или я должен искать оба шаблона, а затем объединить список?
1 ответ
Решение
Решено с помощью игнорирования
const pattern = `${sourceDirPath}/**`;
const ignorePattern = `${sourceDirPath}/_*/**`;
glob(pattern, {
ignore: [ignorePattern],
nodir: true,
}, callback);