1.安装node.js
2.新建package.json文件
{
"name": "demo",
"version": "2.0.1",
"author":"",
"email":"",
"webAddr":"",
"devDependencies": {
"grunt": "~0.4.5",
"grunt-cmd-transport": "~0.3.0",
"grunt-cmd-concat": "~0.2.5",
"grunt-contrib-concat":"*",
"grunt-contrib-jshint": "~0.10.0",
"grunt-contrib-nodeunit": "~0.4.1",
"grunt-contrib-uglify": "~0.5.0",
"grunt-contrib-clean": "~0.5.0",
"grunt-contrib-requirejs": "~0.4.1",
"grunt-contrib-copy":"*",
"grunt-contrib-cssmin":"*",
"grunt-strip": "~0.2.1"
}
}
cmd : npm install
4.创建Gruntfile.js
module.exports = function (grunt) {
var version = 2.0;
// 构建任务配置
grunt.initConfig({
//读取package.json的内容,形成个json数据
pkg: grunt.file.readJSON('package.json'),
//压缩css
cssmin: {
//文件头部输出信息
main:{
options: {
banner: '/*!webAddr:<%= pkg.webAddr %>, author:<%= pkg.author %>, email:<%= pkg.email %>, version:v-<%= grunt.template.today("yyyy-mm-dd") %>:'+version+' */\n',
paths:["css"],
//美化代码
beautify: {
//中文ascii化,非常有用!防止中文乱码的神配置
ascii_only: true
}
},
files: [
{
expand: true,
//相对路径
cwd: 'css/',
src: ['*.css','!*.min.css'],
dest: 'css/',
ext:".min.css"
}
]
}
}
});
// 加载指定插件任务
grunt.loadNpmTasks('grunt-contrib-cssmin');
// 默认执行的任务
grunt.registerTask('default', ['cssmin']);
};
grunt.initConfig方法说明
用于模块配置,它接受一个对象作为参数。该对象的成员与使用的同名模块一一对应。
每个目标的具体设置,需要参考该模板的文档。就cssmin来讲,minify目标的参数具体含义如下:
grunt常用函数说明:
grunt.initConfig:定义各种模块的参数,每一个成员项对应一个同名模块。
grunt.loadNpmTasks:加载完成任务所需的模块。
grunt.registerTask:定义具体的任务。第一个参数为任务名,第二个参数是一个数组, 表示该任务需要依次使用的模块。
grunt常用模块: