|
module.exports = function(grunt) {
grunt.initConfig({
//读取package.json的内容,形成个json数据
pkg: grunt.file.readJSON('package.json'),
// 设置任务,删除文件夹
clean: {
dist: ['css','dist']
},
// 通过sass编译成css文件
sass: {
dist: {
files: [{
expand: true,
flatten: false, //fasle按照sass元目录生成
cwd: 'sass',
//src: ['**/*.scss'],
src: ['hum.scss'],
dest: 'css/',
ext: '.css',
"sourcemap=none": ''
}]
}
},
concat: {
js: {
src: [
'js/core/core.js',
'js/component/*.js'
],
dest: 'js/hum.js'
}
},
//拷贝文件
copy: {
dist: {
expand: true,
src: ['font/*','img/*.{png,jpg,jpeg}',
'css/basic.css','css/hum.css',
'js/hum.js',
'lib/zepto/zepto.min.js'],
dest: 'dist/'
}
},
//压缩css
cssmin: {
//文件头部输出信息
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n',
//美化代码
beautify: {
//中文ascii化,非常有用!防止中文乱码的神配置
ascii_only: true
}
},
my_target: {
files: [
{
expand: true,
//相对路径
cwd: 'css/',
src: '*.css',
dest: 'dist/css/',
rename: function (dest, src) {
var folder = src.substring(0, src.lastIndexOf('/'));
var filename = src.substring(src.lastIndexOf('/'), src.length);
// var filename=src;
filename = filename.substring(0, filename.lastIndexOf('.'));
var fileresult=dest + folder + filename + '.min.css';
grunt.log.writeln("现处理文件:"+src+" 处理后文件:"+fileresult);
return fileresult;
}
}
]
}
},
// 检测改变,自动跑sass任务
watch: {
css: {
files: [
'sass/**/*.scss'
],
tasks: ['clean','sass','copy']
}
}
});
// Default task.
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.registerTask('default', [
'clean:dist',
'sass:dist',
'concat',
'copy',
'cssmin',
'watch:css'
]);
};
|