什么是GRUNT?
基于任务的命令行工具。能做的事包括:
● 验证html,css, javascript
● 压缩css, javascript
● 编译CoffeeScript, TypeScript, etc
● 编译Less
● 等等
Pacakge.json
描述项目的元数据。
{ "name": "", "version":"0.1.0", "devDependencies":{ "grunt": "~0.4.1" } }
参考:http://package.json.nodejitsu.com/
Gruntfile.js
用来配置和定义GRUNT任务的文件。
"use strict"; module.exports = function(grunt){ grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), clean:{ options:{ force: true }, output: ['../Source/*/obj/debug'] } }); grunt.loadNmpTasks('grunt-contrib-clean'); //加载npm任务用来加载特定的Grunt插件,前提是插件必须事先安装好 grunt.registerTask('efault',['clean']);//设置entiry point };
运行GRUNT脚本
grunt taskName -v
搭建GRUNT环境
→ 安装Node.js http://nodejs.org/
→ 安装Node Package Manager, https://npmjs.org/
→ 安装GRUNT cli
npm intstall -g grunt-cli
→ 安装GRUNT到本地项目文件夹
导航到项目文件夹输入:npm install grunt --save-dev
创建完毕项目文件夹里多了一个node_modules文件夹
→ 创建项目package.json文件
在项目根文件夹下创建package.json文件
{ "name":"helloGrunt", "version": "0.1.0", "devDependencies" : { "grunt": "~0.4.1" } }
→ 安装插件
导航到项目文件夹
npm install grunt-contrib-clean --save-dev
安装完毕,在package.json中有了变化:
{ "name": "helloGrunt", "version": "0.1.0", "devDependencies": { "grunt": "~0.4.1", "grunt-contrib-clean": "^0.7.0" } }
→ 在项目根文件夹下创建Gruntfile.js文件
'use strict'; module.exports = function(grunt){ grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), clean: { //命令行运行的时候,会删除掉ToBeCleaned下的子文件夹 output: ['ToBeCleaned/*'] } }); grunt.loadNpmTasks("grunt-contrib-clean"); grunt.registerTask("default",['clean']); }
以上,任务的名称为default, 执行的任务是clean
→ 创建在项目根文件夹下创建ToBeCleaned文件夹,并创建几个文件
→ 导航到项目根目录下
grunt default -v