如何用Grunt.js管理项目
本文介绍如何用Grunt.js管理项目。
Grunt.js简介:
Grunt.js是一个Javascript Task Runner(Javascript任务运行器),其基于NodeJS,可用于自动化构建、测试、生成文档的项目管理工具。
Grunt.js并不是仅仅是构建工具,实际上他只是任务运行器,管理每个子任务的自动化运行,我们还能使用他做更多东西。
为什么使用Grunt.js?
简单的说:为了自动化。
对于前端项目,例如:
为了明确模块分工,我们可能会将Javascript代码拆成很小很小的一个个js文件,但是我们知道,在最终页面上,我们知道过多的js文件会产生过多的Http Request,这不利于页面优化。所以我们可能希望可以合并这些js文件的工具。
为了用户端请求的文件尽量小,我们希望我们的HTML、Javascript等文件能进行压缩。
我们可能需要对源代码进行一些单元测试和回归测试。
我们可能希望有工具能够通过源代码备注自动生成文档,免得手动再写文档。
……
很明显,这一切都有各种各样的小工具能帮我们做到,但是我们希望最好能输入一个命令,打开一个程序,或者干脆每次修改文件保存后自动进行这一切事情。
以前我们可能使用NodeJS自己写一个build程序,但是现在Grunt.js能够提供我们需要的一切。
安装Grunt.js
Grunt.js 0.4之后,其不再使用全局方式安装整个Grunt.js,而是在全局安装Grunt.js Client,然后在当前项目中安装Grunt,来避免未来不同项目对Grunt不同版本的依赖关系。
如果安装了之前的版本,可以使用npm的命令来删除掉原来的Grunt.js。
npm uninstall -g grunt
然后安装Grunt.js Client:
npm install -g grunt-cli
package.json
package.json是项目的配置文件,有一些项目的依赖信息,以及作者、版本等信息。我们先写一个简单的package.json。
{ "name": "my-project", "version": "0.1.0", "devDependencies": { "grunt": "~0.4.1" } }
name属性,表示该项的名字。
version属性,则是该项目的版本号。
devDependencies属性,则包含该项目的依赖,目前我们的依赖只有grunt,以及版本为0.4.1。
在终端大概包含该package.json的目录,输入命令: