artgrosvil
@artgrosvil
#dev #programming #student #startups #chill

Как правильно настроить grunt-contrib-cssmin?

Здравствуйте, есть config grunt'a. (Делаю первый раз, сильно не пинайте, что поправить говорите, спасибо)

Делают склеивание css файлов, дальше минифицирую. И тут проблема вылетает, если в css файле есть комментарии(например в animate.css), то после минификации css получается весь закомментирован. Что делаю не так? Как это лечится?

Gruntfile.js
module.exports = function (grunt) {

    grunt.initConfig({
        clean: {
            folder: ['build/']
        },
        bower: {
            dev: {
                dest: 'public/',
                js_dest: 'public/js/lib',
                css_dest: 'public/css/lib',
                fonts_dest: 'public/fonts/',
                images_dest: 'public/img/'
            }
        },
        concat: {
            js: {
                src: ['public/js/**'],
                dest: 'public/js/chill.js'
            },
            css: {
                src: ['public/css/**'],
                dest: 'public/css/chill.css'
            }
        },
        autoprefixer: {
            options: {
                browsers: ['last 2 versions', 'ie 8', 'ie 9', '> 1%']
            },
            main: {
                expand: true,
                flatten: true,
                src: 'public/css/chill.css',
                dest: 'public/css/'
            }
        },
        uglify: {
            dist: {
                src: ['<%= concat.js.dest %>'],
                dest: 'build/js/chill.min.js'
            }
        },
        cssmin: {
            dist: {
                src: ['<%= concat.css.dest %>'],
                dest: 'build/css/chill.min.css'
            }
        },
        imagemin: {
            dynamic: {
                files: [{
                    expand: true,
                    cwd: 'public/img',
                    src: ['*'],
                    dest: 'build/img',
                }]
            }
        },
        copy: {
            main: {
                expand: true,
                cwd: 'public/',
                src: ['fonts/*'],
                dest: 'build/'
            }
        },
        clean: {
            css: ['<%= concat.css.dest %>'],
            js: ['<%= concat.js.dest %>']
        }
    });

    grunt.loadNpmTasks('grunt-bower');
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-autoprefixer');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-cssmin');
    grunt.loadNpmTasks('grunt-contrib-imagemin');
    grunt.loadNpmTasks('grunt-contrib-copy');
    grunt.loadNpmTasks('grunt-contrib-clean');

    grunt.registerTask('default', ['bower', 'concat', 'uglify', 'autoprefixer', 'uglify', 'cssmin', 'imagemin', 'copy', 'clean']);
};
  • Вопрос задан
  • 819 просмотров
Решения вопроса 1
artgrosvil
@artgrosvil Автор вопроса
#dev #programming #student #startups #chill
Нашел решение.
Нужно запускать cssmin с параметром keepSpecialComments: 0
Тогда все комментарии просто удаляются, что собственно и правильно при бьюлде релизной версии.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Вроде все правильно в конфиге. Либо в CSS комментарий как-то так хитро пишите, что парсер в cssmin или в autoprefixer спотыкается, либо баг в одном из этих процессоров (что вряд ли).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы