Grunt Concat Task, как игнорировать все файлы .min.js?

У меня есть следующая задача grunt concat. Как я могу сделать concat игнорировать все мини файлы? Это не работает.

concat: {
    js: {
        src:  [ 
            '<%= globalConfig.bar %>', 
            '<%= globalConfig.foo %>/*.js', 
            '<%= globalConfig.foo %>/!*.min.js', 
            '<%= globalConfig.fooLib %>/*.js', 
            '<%= globalConfig.fooLib %>/!*.min.js'
        ],
        dest: '../../foo/fooCombined.js'
    },
    css: {
        src: ['<%= globalConfig.foo %>/*.css'],
        dest: '../../foo/fooCombined.css'
    }
},

Это также не работает:

'<%= globalConfig.fooLib %>/(*.js && !*min.js)'

Любая помощь приветствуется. Спасибо.

Ответы

Ответ 1

Попробуйте следующее:

concat: {
  js: {
    src:  [ 
        '<%= globalConfig.bar %>', 
        '<%= globalConfig.foo %>/*.js', 
        '<%= globalConfig.fooLib %>/*.js', 
        '!**/*.min.js'
    ],
    dest: '../../foo/fooCombined.js'
  },
  css: {
    src: ['<%= globalConfig.foo %>/*.css'],
    dest: '../../foo/fooCombined.css'
  }
},

Отрицание или ! помещается в начале допустимого шаблона для создания противоположного эффекта. Шаблоны обрабатываются по порядку, поэтому размещение отрицательного шаблона, который вы хотите исключить в конце, сделает трюк.

Подробнее см. http://gruntjs.com/configuring-tasks#globbing-patterns.