GruntJavaScript 世界的构建工具

为何要用构建工具?

一句话:自动化。对于需要反复重复的任务,例如压缩(minification)、编译、单元测试、linting等,自动化工具可以减轻你的劳动,简化你的工作。当你在 Gruntfile 文件正确配置好了任务,任务运行器就会自动帮你或你的小组完成大部分无聊的工作。

为什么要使用Grunt?

Grunt生态系统非常庞大,并且一直在增长。由于拥有数量庞大的插件可供选择,因此,你可以利用Grunt自动完成任何事,并且花费最少的代价。如果找不到你所需要的插件,那就自己动手创造一个Grunt插件,然后将其发布到npm上吧。先看看入门文档吧。

可用的Grunt插件

你所需要的大多数task都已经作为Grunt插件被开发了出来,并且每天都有更多的插件诞生。插件列表页面列出了完整的清单。下面给出几个你可能听说过的插件:

提前感受一下 Grunt 吧!

安装 grunt 虽然很简单,更多涉及到如何运行项目。看看下面的演示,这是为项目案例运行 grunt 后的输出。

grunt 
Running "jshint:gruntfile" (jshint) task
>> 1 file lint free.
 
Running "jshint:src" (jshint) task
>> 1 file lint free.
 
Running "jshint:test" (jshint) task
>> 1 file lint free.
 
Running "qunit:files" (qunit) task
Testing test/tiny-pubsub.html....OK
>> 4 assertions passed (23ms)
 
Running "clean:files" (clean) task
Cleaning "dist"...OK
 
Running "concat:dist" (concat) task
File "dist/ba-tiny-pubsub.js" created.
 
Running "uglify:dist" (uglify) task
File "dist/ba-tiny-pubsub.min.js" created.
Uncompressed size: 389 bytes.
Compressed size: 119 bytes gzipped (185 bytes minified).
 
Done, without errors.
 

谁在使用Grunt?

以下列出了一部分正在使用Grunt的公司或项目。 查看更多。

如何开始使用Grunt?

快速入门 文档能告诉你如何在项目中使用 Grunt。当你读完了此文档,请继续阅读 Gruntfile案例配置任务.