GruntJavaScript 世界的构建工具

为何要用构建工具?

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

为什么要使用Grunt?

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

可用的Grunt插件

你所需要的大多数task都已经作为Grunt插件被开发了出来,并且每天都有更多的插件诞生。尽管 插件列表 所列出的插件更为全面,但这里有一些你可能已经听过。

CoffeeScriptHandlebarsJadeJSHintLessRequire.jsSassStylus

提前感受一下 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.

谁在使用Grunt?

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

TwitterjQueryAdobeModernizrBocoupFilament GroupSauce LabsBitovi

如何开始使用Grunt?

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