早闻自动化部署大名,可惜我性子懒散,至今才了解了解。官网看了是一头雾水,直到跟着叶小钗一笔一画,才了解这个
Grunt是怎么一回事,回头再看官方案例。对它也再无神秘的面纱,纸上得来终觉浅,绝知此事要躬行。
安装grunt的环境
首先需要node环境,用npm安装grunt
1 | npm install -g grunt-cli |
基础实例
新建一个空文件夹,并添加两个文件:package.json与Gruntfile.js
这两个文件要在项目的根目录下

package.json中添加如下代码,Gruntfile.js中暂且不管:
1 | { |
调用npm命令安装:
1 | npm install |
创建测试的用例
如图:

里面的代码也是随便写的,只用来演示,为了对比效果,将代码粘贴如下:
test.js:
1 | function test1(){ |
event.js:
1 | function addEvents1(){ |
require.js是从requirejs官网下载的
编辑Gruntfile.js
下面是对grunt插件uglify的简单实例
1 | module.exports = function (grunt) { |
运行grunt
1 | grunt |
结果如图:

查看uglifyResult.min.js的内容,已经将test.js和event.js的内容压缩到一起了,这儿就不放图了,有兴趣的自己试试。
经过上面的基础实例,想必已经对grunt的作用和工作原理有所理解,只需写个配置文件,运行下grunt命令,就可以压缩文件了,果然方便。上面只是对grunt插件uglify的演示,其他插件的用法,我们继续。
Grunt相关配置
从上面我们看到了grunt有种种插件,各种插件的用法也不尽相同,除此之外,grunt还有一些约定,使得每个grunt插件都可以配置公共属性:
options
files
小技巧:
src匹配所有的.styl文件:设置src: '*.styl'是匹配不到的,因为*不匹配/。**可以匹配/,且一个路径中只可以出现一个**,所以可以设置为:src: '**/*.styl'- 生成多个
dest文件:dest只能是一个字符串,表示单个文件,设置为[‘result/.css‘]会报错,只能用动态创建文件对象:
1
2
3
4
5
6
7
8
9 files: [
{
expand: true,
src: ['*.styl'],
cwd: 'css/stylus/src/',
dest: 'css/stylus/result/',
ext: '.css'
}
]
更多实例
实例1:单独使用concat插件
package.json不变,Gruntfile.js如下:
1 | grunt.initConfig({ |
运行grunt
1 | grunt |
结果如图:

concatResult.js内容



