自动化任务处理工具:Grunt

最近在做的这个小项目中应用了一个Javascript运行器,对于配置不太理解,学习总结一下

Grunt初识

Grunt是一种自动化任务处理工具,它就是一个工具框架,有很多插件扩展它的功能。
Grunt 基于 Node.js ,用 JS 开发,这样就可以借助 Node.js 实现跨系统跨平台的桌面端的操作,例如文件操作等等。此外,Grunt 以及它的插件们,都作为一个 包 ,可以用 NPM 安装进行管理。

所以 NPM 生成的 package.json 项目文件,里面可以记录当前项目中用到的 Grunt 插件,而 Grunt 会调用 Gruntfile.js 这个文件,解析里面的任务(task)并执行相应操作。

安装grunt

实际上,安装的并不是 Grunt,而是 Grunt-cli,也就是命令行的 Grunt,这样你就可以使用 grunt 命令来执行某个项目中的 Gruntfile.js 中定义的 task 。但是要注意,Grunt-cli 只是一个命令行工具,用来执行,而不是 Grunt 这个工具本身。

安装 Grunt-cli 需要使用 NPM,使用下面一行即可在全局范围安装 Grunt-cli ,也就是你可以在任何地方执行 grunt 命令:

npm install -g grunt-cli

因为使用 -g 命令会安装到全局,可能会涉及到系统敏感目录,如果用 Windows 的话,可能需要你用管理员权限,如果用 OS X / Linux 的话,你可能需要加上 sudo 命令。

生成package.json文件

输入指令 npm init 之后,就出来很多信息,然后开始填写项目名称,填写好了之后回车即可。(不写跳过也可以)
我的项目中的package.json文件:

{
  "name": "movieproject",
  "version": "1.0.0",
  "description": "jianzhan",
  "main": "app.js",
  "dependencies": {
    "bcrypt-nodejs": "0.0.3",
    "bcryptjs": "^2.4.3",
    "body-parser": "^1.18.2",
    "connect-mongo": "^2.0.0",
    "cookie-parser": "^1.4.3",
    "cookie-session": "^2.0.0-beta.3",
    "crypto": "^1.0.1",
    "express": "^4.16.2",
    "express-logger": "0.0.3",
    "express-requests-logger": "^1.0.12",
    "express-session": "^1.15.6",
    "express_logger": "0.0.4",
    "jade": "^1.11.0",
    "moment": "^2.20.1",
    "mongoose": "^4.13.7",
    "session": "^0.1.0",
    "underscore": "^1.8.3"
  },
  "devDependencies": {
    "grunt": "^1.0.1",
    "grunt-concurrent": "^2.3.1",
    "grunt-contrib-nodemon": "^0.5.4",
    "grunt-contrib-watch": "^1.0.0",
    "grunt-nodemon": "^0.4.2"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "xiaohuhu",
  "license": "ISC"
}
安装Grunt需要的插件

运行并检测到更改时重新启动的脚本:grunt-nodemon
同时运行grunt任务:grunt-current
合并文件:grunt-contrib-concat
语法检查:grunt-contrib-jshint
Scss 编译:grunt-contrib-sass
压缩文件:grunt-contrib-uglify
监听文件变动:grunt-contrib-watch
建立本地服务器:grunt-contrib-connect

下面我们就要在这个项目中安装这些插件,执行命令:

npm install grunt –save-dev
表示通过 npm 安装了 grunt 到当前项目,同时加上了 –save-dev 参数,表示会把刚安装的东西添加到 package.json 文件中。

"devDependencies": {
  "grunt": "^1.0.1"
}

意思就是当前项目依赖 grunt,后面是它的版本,咱们不用管。如果安装的时候没有添加 –save-dev 参数,这里就不会出现了,你需要自行添加上去。
下面我们来安装 Grunt 的插件,当然,不需要一个个的安装,太麻烦了,我们可以:

npm install --save-dev grunt-contrib-concat grunt-contrib-jshint grunt-contrib-sass grunt-contrib-uglify grunt-contrib-watch grunt-contrib-connect
配置

添加自己合适的gruntfile配置,运行,得出预期输出
module.exports=function(grunt){
//任务配置
grunt.initConfig({
});
//载入任务
grunt.loadNpmTasks();
//注册任务
grunt.registerTask();
}

grunt.initConfig配置详解

1,官网-配置任务 一节描述的很清楚,包括任务的结构和参数含义。
http://www.gruntjs.net/docs/configuring-tasks/

2,github搜对应的任务。如grunt-cmd-transport

3,github上通过seajs等推荐的链接。如:
https://github.com/seajs/seajs/issues/672

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值