2

我正在尝试使用 Grunt 和 grunt-contrib-cssmin 删除所有 CSS 注释,CSS 文件被编译并缩小它包含所有注释。

注释应与以下行一起删除:keepSpecialComments: 0

module.exports = function(grunt) {
  require('jit-grunt')(grunt);

  grunt.initConfig({
    less: {
        development: {
            options: {
               compress: true,
               yuicompress: true,
               optimization: 2
            },
            files: {
              "css/main.css": "less/bootstrap.less" // destination file and source file
            }
        }
    },
    watch: {
        styles: {
            files: ['less/**/*.less'], // which files to watch
            tasks: ['less'],
            options: {
              nospawn: true
            }
        },
    },
    cssmin: {
        options: {
            keepSpecialComments: 0
        }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-cssmin');
  grunt.registerTask('default', ['less','cssmin', 'watch']);
};
4

2 回答 2

-1

按照作者提供的答案类型,grunt-decomment将是一个更通用的解决方案,它可以从任何文件//中删除评论。/**/

于 2016-01-05T13:13:40.670 回答
-2

已修复 - 我找到了一个使用 grunt-strip-css-comments 的解决方案,它会在文件被缩小后删除所有评论:

更正后的代码如下:

module.exports = function(grunt) {
  require('jit-grunt')(grunt);
  require('load-grunt-tasks')(grunt);

  grunt.initConfig({
    less: {
        development: {
            options: {
               compress: true,
               yuicompress: true,
               optimization: 2
            },
            files: {
              "public/library/css/bootstrap.min.css": "public/library/less/bootstrap.less"
            }
        }
    },
    watch: {
        styles: {
            files: ['public/library/less/**/*.less'],
            tasks: ['less', 'stripCssComments'],
            options: {
              nospawn: true,
              livereload: 1342
            }
        },
    },
    stripCssComments: {
        dist: {
            files: {
                'public/library/css/bootstrap.min.css': 'public/library/css/bootstrap.min.css'
            },
            options: {
                preserve: false
            }
        }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-watch');

  grunt.registerTask('default', ['less', 'stripCssComments', 'watch']);
};
于 2015-10-08T10:31:01.140 回答