cssmin和grunt - 文件附加问题

时间:2016-01-20 04:25:27

标签: node.js gruntjs npm grunt-contrib-cssmin

我刚开始使用gruntcssmin来自动化CSS缩小过程。这在第一次工作正常,但是稍后文件内容被附加到缩小文件而不是覆盖它,并且其重复的文件大小变得高而且高!!

我的gruntfile.js文件内容如下。

module.exports = function (grunt) {
    grunt.initConfig({

    // define source files and their destinations
    cssmin: {
        target: {
            files: [{ 
                src: ['assets/front/css/*.css', '!*.min.css'],  // source files mask
                dest: 'assets/front/css/',    // destination folder
                expand: true,    // allow dynamic building
                flatten: true,   // remove all unnecessary nesting
                ext: '.min.css'   // replace .css to .min.css
            }],
        }
    },
    watch: {
        css:  { files: 'assets/front/css/*.css', tasks: [ 'cssmin' ] },
    }
});

// load plugins
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-cssmin');

// register at least this one task
grunt.registerTask('default', [ 'cssmin', 'watch' ]);


};

请告知,我在哪里犯错误。

1 个答案:

答案 0 :(得分:1)

我相信GitHub上的这个issue是相关的,其中讨论了两个解决方案:

1)在缩小之前使用clean

   clean: ['your_path/css/*.min.css', '!your_path/css/*.css'],
   cssmin: {
      minify: {
        expand: true,
        cwd: 'your_path/css/',
        src: ['*.css'],
        dest: 'your_path/css/',
        ext: '.min.css'
      }
    }

2)使用绝对文件路径而不是* / **。css路径,如下:

cssmin: {
  combine: {
    files: {
      'path/to/output.css': ['path/to/input_one.css', 'path/to/input_two.css']
    }
  }
}