Page 458 - AngularJS权威教程
P. 458
438 第 34 章 下一步
有用,它可以尽可能快地加载应用,特别是在移动设备上。
这里使用Uglify插件来为我们处理这个过程。
$ npm install grunt-contrib-uglify --save-dev
非常好!现在可以使用Grunfile来配置Grunt了。要配置Grunt,只需在文本编辑器中载入
Gruntfile.js文件然后添加以下代码:
module.exports = function(grunt) {
// 配置
grunt.initConfig({
pkg: grunt.file.readJSON('package.json')
});
// 加载插件
// 默认任务
};
为了设置一个配置,需要让Grunt载入我们想使用的所有插件的npm任务。由于这里正在使用
uglify任务,因此需要让Grunt载入grunt-contrib-uglify插件任务:
grunt.loadNpmTasks('grunt-contrib-uglify');
要配置Uglify,可以在initConfig对象内使用uglify属性放入一个配置块。在这个例子中,
先创建一个很小的更新配置,只设置了src和dest位置:
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
build: {
src: 'src/<%= pkg.name %>.js',
dest: 'build/<%= pkg.name %>.min.js'
}
}
});
grunt-contrib-uglify 模块的所 有可配置 选项都可 以在项目 的 README 中找到
(https://github.com/gruntjs/grunt-contrib-uglify)。
注意,使用Grunt模块时,配置文档通常都在项目的README文件中,或者
README可能指向其可用的配置选项。
使用上面这个设置,Grunt会在src/目录中使用我们给package.json的名称来查找JavaScript文
件。然后在这个文件上运行Uglify任务。
为了真正告诉Grunt运行这个任务,你可以简单地运行uglify任务:
$ grunt uglify
也可以通过声明一个带多个子任务的任务,来配置Grunt在一个任务中运行多个任务:
grunt.initConfig({
// 配置
});
grunt.register('default', ['uglify']);
现在,你可以运行grunt default,然后定义在数组中的所有任务都会运行。在Grunt中

