Вопрос по regex, gruntjs, node.js, regex-negation – Как сопоставить каждый файл, кроме одного в grunt concat?

21

Я использую grunt для объединения и минимизации моих js-файлов, я использую следующую конфигурацию дляconcat часть:

concat: {
  dist: {
    src: ['<banner:meta.banner>', 'js/*.js'],
    dest: 'js/script.js'
  }
}

Это соответствует каждому файлу в моемjs папка, но мне нужно игнорироватьmodernizr.js, Есть ли способ сделать это? Я полагаю, что для этого мне нужно какое-то соответствие вуду, но я не уверен, как это сделать.

Заранее спасибо.

Обратите внимание, что'js/*.js' являетсяnot регулярное выражение, это селектор пути (или как они там называются). Регулярное выражение было быjs\/.*\.js (.* вместо*и, по крайней мере, избегая точки). Я рассмотрю другие способы исключения файлов, они могут иметь дополнительные конфигурации. Kobi
Вы правы, он используетminimatch для выбора файла, который преобразует выражения в JavaScriptRegExp объекты, так что это не 100% регулярное выражение Javier Villanueva

Ваш Ответ

1   ответ
33

документация Я бы попробовал:

js/!(modernizr).js
(js/)!(modernizr).js
{js/}!(modernizr).js
js/!({modernizr}).js
(js/)!({modernizr}).js
{js/}!({modernizr}).js
js/!{modernizr}.js
(js/)!{modernizr}.js
{js/}!{modernizr}.js

Если никто из них не собирается работать, то, вероятно, вам не повезло ...

@javiervd - Вjs/!modernizr.js ты использовал отрицание только для письмаmВот почему это не сработало ...
Спасибо первый работал нормально, я пыталсяjs/!modernizr.js прежде чем удивляться, почему это не сработало ... Javier Villanueva

Похожие вопросы