我刚开始使用grunt和cssmin来自动化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' ]);
};
请告知,我在哪里犯错误。
答案 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']
}
}
}