使用grunt和cssmin来缩小我的CSS。
但是,在我的css assets文件夹中,我有一些扩展名为.min.css的css。因此,当我运行grunt时,只有源文件夹中包含.css的文件才会缩小到build文件夹中。源文件夹中包含.min.css的文件将在build文件夹中找到,但.min扩展名将丢失。即bootstrap.min.css将成为bootstrap.css
我的Gruntfile.js如下
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
build: {
files: [{
expand: true,
src: '**/*.js',
dest: 'resources/front/js',
cwd: 'assets/front/js'
}]
}
},
cssmin: {
minify: {
expand: true,
cwd: 'assets/front/css/',
src: ['*.css', '*.min.css'],
dest: 'resources/front/css/',
ext: '.css'
}
}
});
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-cssmin');
// Default task(s).
grunt.registerTask('default', ['uglify','cssmin']);
};
.min.css文件是否仍然可以缩小并位于build文件夹中并保留正确的“.min.css”扩展名?
答案 0 :(得分:2)
修改强>
请参阅this answer以获得对文件名重命名的最大控制权。
试试这个:
cssmin: {
minify: {
files: [{
expand: true,
cwd: 'assets/front/css/',
src: ['*.css', '!*.min.css'],
dest: 'resources/front/css/',
ext: '.css'
}, {
expand: true,
cwd: 'assets/front/css/',
src: ['*.min.css'],
dest: 'resources/front/css/',
ext: '.min.css'
}]
}
}
第一个文件块将仅缩小*.css
个文件并保留这些文件的.css
扩展名。第二个文件块将仅缩小*.min.css
个文件,并保留这些文件的.min.css
扩展名。
答案 1 :(得分:2)
我使用grunt-contrib-copy:只需将* .min.css复制到dest。
首先,排除所有* .min.css文件
cssmin:{
min:{
files:[{
expand:true,
cwd:'css',
src:['*.css','!*.min.css'],
dest:'release/css',
ext:'.min.css'
}]
}
}
其次,将所有* .min.css从css文件夹复制为src到release / css文件夹作为dest
copy:{
main:{
files:[{
// Copy *.min.css
expand:true,
src:['css/**/*.min.css'],
dest:'release/'
}]
}
}