我使用grunt和cssmin来缩小我的css。
但是,在我的 css assets 文件夹中,我有一些扩展名为 .min.css 的 css。因此,当我运行 grunt 时,只有源文件夹中有 .css 的文件才会被缩小为在构建文件夹中。那些在源文件夹中具有 .min.css 的文件将在构建文件夹中找到,但 .min 扩展名将丢失。即bootstrap.min.css将成为bootstrap.css
我的咕噜咕噜文件.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 文件仍然缩小并位于构建文件夹中并保留正确的".min.css"扩展名?
编辑
请参阅此答案,了解对文件名重命名的最大控制。
试试这个:
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
扩展名。
我使用grunt-contrib-copy:只需复制*.min.css即可。
首先,排除所有 *.min.css 文件
cssmin:{
min:{
files:[{
expand:true,
cwd:'css',
src:['*.css','!*.min.css'],
dest:'release/css',
ext:'.min.css'
}]
}
}
其次,将所有 *.min.css 从 css 文件夹作为 src 复制到发布/css 文件夹作为 dest
copy:{
main:{
files:[{
// Copy *.min.css
expand:true,
src:['css/**/*.min.css'],
dest:'release/'
}]
}
}