我在使用grunt cssmin缩小多个 CSS 文件时遇到问题我不希望将所有文件缩小为单个文件。我希望文件具有与 min.css 扩展名相同的名称。
我的 gruntfile.js 如下。
module.exports = function (grunt) {
grunt.initConfig({
cssmin: {
target: {
files: [{
src: ['assets/css/*.css', '!assets/css/*.min.css'], // source files mask
dest: 'assets/css/', // destination folder
expand: true, // allow dynamic building
flatten: true, // remove all unnecessary nesting
ext: '.min.css' // replace .css to .min.css
}],
/* BELOW IS ONLY A TRICK USED TO MINIFY THE FILES SKIPPED BY THE ABOVE */
/*files: [{
src: ['assets/css/home.css', 'assets/css/institutions.css', 'assets/css/form-elements.css'], // source files mask
dest: 'assets/css/', // destination folder
expand: true, // allow dynamic building
flatten: true, // remove all unnecessary nesting
ext: '.min.css' // replace .css to .min.css
}],*/
}
}
});
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.registerTask('default', [ 'cssmin' ]);
};
根据代码(注释掉的部分除外),假设缩小所有 css 文件。但由于某种原因,它会从目录中跳过几个 css 文件。为了缩小这些,我必须先注释掉第一个files[{}]
,然后取消注释。
files[{}]
当两者都未注释时,它不起作用。我不知道为什么会这样。
我的 Nodejs 版本是:v0.10.25
提前致谢。
注意grunt cssmin
:由于节点版本问题,我曾经收到警告和任务中止,并通过将 nvm 版本降级到nvm v0.10.39来修复它。感谢blindMoe指出解决方案