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。当你读完了此文档,请继续阅读 Gruntfile 实例配置任务


Grunt is an OpenJS Foundation project.

OpenJS Foundation