2017-01-26 2 views
0

У меня есть проект Sailsjs, и он приходит с Грантом построен в Вот что tasks/register/prod.js выглядит следующим образом:.Может ли Grunt минимизировать несколько файлов отдельно, без их конкатенации?

module.exports = function(grunt) { 
    grunt.registerTask('prod', [ 
    'compileAssets', 
    //'concat', 
    'uglify', 
    'cssmin', 
    'sails-linker:prodJs', 
    'sails-linker:prodStyles', 
    //'sails-linker:devTpl', 
    //'sails-linker:prodJsJade', 
    //'sails-linker:prodStylesJade', 
    //'sails-linker:devTplJade' 
    ]); 
}; 

и вот моя попытка получить Grunt для Минимизировать файлы отдельно tasks/config/cssmin.js:

module.exports = function(grunt) { 

    grunt.config.set('cssmin', { 
    dist: { 
     src: 'assets/css/test.css', 
     dest: '.tmp/public/min/test.min.css' 
    } 
    }); 

    grunt.config.set('cssmin', { 
    dist: { 
     src: 'assets/css/main.css', 
     dest: '.tmp/public/min/main.min.css' 
    } 
    }); 

    grunt.loadNpmTasks('grunt-contrib-cssmin'); 
}; 

Это не работает правильно, оно только дает мне main.min.css (minified), но не test.min.css.

ответ

2

«dist» не является статической частью синтаксиса, это имя цели. У вас может быть столько целей, сколько вы хотите, но вы не можете иметь два с тем же именем.

grunt.config.set('cssmin', { 
    test: { 
    src: 'assets/css/test.css', 
    dest: '.tmp/public/min/test.min.css' 
    }, 
    main: { 
    src: 'assets/css/main.css', 
    dest: '.tmp/public/min/main.min.css' 
    } 
}); 

Запуск «cssmin» выполняет обе цели, «cssmin: тест» запускает первый и «cssmin: главный» запускает второй.

2

Во второй раз, когда вы устанавливаете значение для задачи cssmin, вы переписываете свое предыдущее значение, таким образом вы возвращаетесь только main.min.css.

Чтобы Минимизировать несколько отдельных файлов с cssmin вы только набор grunt.config один раз, и это будет выглядеть следующим образом:

module.exports = function(grunt) { 

    grunt.config.set('cssmin', { 

    dist: { 
     src: 'assets/css/test.css', 
     dest: '.tmp/public/min/test.min.css' 
    }, 

    dist2: { 
     src: 'assets/css/main.css', 
     dest: '.tmp/public/min/main.min.css' 
    } 

    }); 

    grunt.loadNpmTasks('grunt-contrib-cssmin'); 
}; 
Смежные вопросы