Как игнорировать файлы grunt uglify

Фон

Я только начал использовать хрюканье примерно 30 минут назад. Так что медведь со мной.

Но у меня довольно простой script переход, который будет смотреть на мои js, а затем сжать все это в один файл для меня.

код

"use strict";
module.exports = function (grunt) {

    // load all grunt tasks
    require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);

    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        uglify: {
            options: {
                beautify: true,
                report: 'gzip'
            },
            build: {
                src: ['docroot/js/*.js', 'docroot/components/pages/*.js', 'docroot/components/plugins/*.js'],
                dest: 'docroot/js/main.min.js'
            }
        },
        watch: {
            options: {
                dateFormat: function(time) {
                    grunt.log.writeln('The watch finished in ' + time + 'ms at' + (new Date()).toString());
                    grunt.log.writeln('Waiting for more changes...');
                }
            },
            js: {
                files: '<%= uglify.build.src %>',
                tasks: ['uglify']
            }
        }
    });

    grunt.registerTask('default', 'watch');

}

Вопрос

Мой main.min.js каждый раз включается в компиляцию. Значение my min.js получает 2x, 4x, 8x, 16x и т.д. И т.д. Лучше всего это добавить исключение и игнорировать main.min.js?

Ответ 1

В конец массива src добавьте

'!docroot/js/main.min.js'

Это исключает его.! превращает его в исключение.

http://gruntjs.com/api/grunt.file#grunt.file.expand

Пути соответствия шаблонам, которые начинаются с! будут исключены из возвращаемого массива. Шаблоны обрабатываются по порядку, поэтому порядок включения и исключения значителен.

Это не относится к grunt uglify, но любая задача, использующая соглашение grunt для указания файлов, будет работать таким образом.

В качестве общего совета, хотя я бы предложил разместить встроенные файлы где-то еще, кроме ваших исходных файлов. Как в корневой папке dist.