Шаблон глобуса узла для каждого файла .js, кроме .spec.js

Я ищу лучший шаблон глобуса для usemin, я хочу найти все файлы .js, но исключить файлы .spec.js. У меня есть следующее решение до сих пор.

<script src="components/**/*(.js|!(*.spec.js|*.scss))"></script>

Решение, которое у меня есть на данный момент, требует, чтобы я продолжал добавлять расширения файлов, чтобы исключить их, иначе они будут подобраны, например, .html файлов.

Я пытался заставить его искать только файлы .js и исключать из них файлы .spec.js, но это не работает.

Также добавление !components/**/*.spec.js в качестве другого сценария ниже, похоже, не работает.


person roughcoder    schedule 29.10.2014    source источник
comment
Вы можете исключить эти тестовые сценарии с шаблоном глобуса, но, возможно, лучшим подходом было бы поместить их в отдельный каталог test на том же уровне, что и components. Таким образом, их легко исключить из вашего процесса сборки.   -  person Troy Gizzi    schedule 29.10.2014
comment
Согласен +1, и я делал это много раз, но на этот раз у меня есть структура папок на основе компонентов с кодом и спецификацией вместе.   -  person roughcoder    schedule 29.10.2014
comment
Я переименовал *.spec.js файлов только в *.spec.   -  person Heikki    schedule 30.10.2014


Ответы (1)


Этот глобус включает все *.js, но не *.spec.js:

components/**/!(*.spec).js
person Heikki    schedule 30.10.2014
comment
Что делать, если у меня есть другие файлы, которые нужно игнорировать, например *.controller.js, *.module.js и т. д.? Я пытаюсь изменить ваш ответ на работу, но пока безуспешно. - person Justin; 19.10.2016
comment
Хорошо, я понял: components/**/!(*.spec|*.controller).js - person Justin; 19.10.2016
comment
Во что он компилируется? Я просто представил это как компоненты /**/*.!(spec).js Я думал, что это регулярное выражение. Почему звезда не отрицается в скобках? - person Lajos; 21.04.2017
comment
из другого поста я прочитал, что отрицание node-glob с использованием '!' устарела в версии 5 и будет полностью удалена в версии 6: см. сообщение здесь - person dandersendev; 19.10.2018
comment
Как включить все *.spec.js, но не *.js? :) - person Sharikov Vladislav; 30.12.2019
comment
Кстати, спасибо за ответ. Почему не принимается? :) - person Sharikov Vladislav; 30.12.2019
comment
Предположение для all *.spec.js but not *.jscomponents/**/*.spec.js - person Heikki; 02.01.2020