Node.js的项目构建工具Grunt的安装与配置教程
Grunt基于Node.js,用JS开发,这样就可以借助Node.js实现跨系统跨平台的桌面端的操作,例如文件操作等等。此外,Grunt以及它的插件们,都作为一个包,可以用NPM安装进行管理。
所以NPM生成的package.json项目文件,里面可以记录当前项目中用到的Grunt插件,而Grunt会调用Gruntfile.js这个文件,解析里面的任务(task)并执行相应操作。
安装Grunt-cli
其实是安装Grunt-cli,这里安装Grunt的命令行支持(commandlineinterface,简称CLI),在这之后,命令提示符中将会识别grunt命令。安装grunt-cli并不能称为安装Grunt完毕。这是因为,Grunt本身不是全局使用的,任何具体的工作目录,如果要使用Grunt,都需要安装一次Grunt。这样做也是因为不同的工作目录,需要通过Grunt做的自动化工作也不同,因此需要独立配置。
npminstall-ggrunt-cli
—save-dev参数,表示会把刚安装的东西添加到package.json文件中。
生成package.json文件
npm对工作目录有一个要求。这个要求是:根目录位置处有一个package.json
文件。这个文件定义了工作目录对应的一些项目信息(名字,描述),以及包(就是npm模块)依赖关系。
执行下面命令便可以初始化
npminit
为当前工作目录安装Grunt和需要的插件
方法1
之前我们把Grunt安装到了全局目录下,现在需要引入到当前项目路径,与此同时,所需要的插件可能有这些:
合并文件:grunt-contrib-concat
语法检查:grunt-contrib-jshint
Scss编译:grunt-contrib-sass
压缩文件:grunt-contrib-uglify
监听文件变动:grunt-contrib-watch
建立本地服务器:grunt-contrib-connect
安装它们的方式可以是:
npminstall--save-devgrunt npminstall--save-dev插件1插件2插件3
这个时候package.json文件夹里多出了一些代码。
"devDependencies":{ "grunt":"0.4.1" },
方法2-手动更改package.json
"devDependencies":{ "grunt":"~0.4.1", "grunt-contrib-cssmin":"~0.7.0" }
手动在package.json文件里面添加这个字段,将需要依赖的包添加进去,如果只需安装最新版本,可以改成*,然后执行npminstall,会发现文件夹里多了node_modules文件夹,里面存放的就是我们需要的插件。
配置
一般来说,直接使用模板作为配置文件。
module.exports=function(grunt){ "usestrict"; grunt.initConfig({ //插件配置区域 }); //加载插件任务,要使用谁就添加谁 grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-contrib-imagemin'); //注册任务 grunt.registerTask('default',['cssmin','imagemin','uglify']); };
grunt.loadNpmTasks()是加载插件任务。其实就是说,你如果要使用哪个插件的功能,请在这部分用这句代码把插件任务添加进去。
grunt.registerTask()是注册任务,默认有一个default。默认的意思就是说,你最后使用的时候,在目录的命令提示符里直接输入grunt便可以执行注册的任务,相当于执行了default这个任务。
使用自定义任务
可以注册更多的任务命令,使用其他的命名。比如
grunt.registerTask('custom',['cssmin','imagemin']);
对应使用的时候,输入:
gruntcustom