//包装函数
module.exports = function (grunt) {
//任务配置,所有插件的配置信息
grunt.initConfig({
//获取 package.json 的信息
pkg:grunt.file.readJSON('package.json'),
copy:{
html:{
files:[{
expand:true,//启动动态扩展
//ext:'.min.js',//生成min.js结尾的文件,.min-<%= grunt.template.today("yyyy-mm-dd") %>.js
cwd: 'src/html',//src相对路径
src:'**/*.html',
dest:'dest2/html'
}]
}
},
//uglify插件配置信息
uglify:{
options:{
stripBanners:true,
banner:'/*! <%=pkg.name%>-<%=pkg.version%>.js <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
//动态文件映射
build1:{
files:[{
expand:true,//启动动态扩展
//ext:'.min.js',//生成min.js结尾的文件,.min-<%= grunt.template.today("yyyy-mm-dd") %>.js
cwd: 'src/js',//src相对路径
src:'**/*.js',
dest:'dest/js'
}]
}
},
cssmin:{
target:{
files:[{
expand:true,
cwd:'src/css',
src:['**/*.css','!*.min.css'],
dest:'dest/css'
}]
}
},
filerev:{
options:{
algmorithm:'md5',
length:8
},
hash_js:{
files:[{
expand:true,//启动动态扩展
//ext:'.min.js',//生成min.js结尾的文件,.min-<%= grunt.template.today("yyyy-mm-dd") %>.js
cwd: 'dest/js',//src相对路径
src:'**/*.js',
dest:'dest2/js'
}]
},
hash_css:{
files:[{
expand:true,
cwd:'dest/css',
src:['**/*.css'],
dest:'dest2/css'
}]
}
}
});
//告诉我们将使用的插件
require('load-grunt-tasks')(grunt); //加载所需的插件
// grunt.loadNpmTasks('grunt-contrib-copy');
// grunt.loadNpmTasks('grunt-contrib-uglify');
// grunt.loadNpmTasks('grunt-contrib-cssmin');
// grunt.loadNpmTasks('grunt-filerev');
// grunt.loadNpmTasks('grunt-usemin');
//告诉grunt 当我们在终端中输入grunt时需要做些什么(注意先后顺序)
grunt.registerTask('default',['copy','useminPrepare','uglify:build1','cssmin','filerev','usemin']);
};