grunt入门讲解6:grunt使用步骤和总结
Grunt是啥?
很火的前端自动化小工具,基于任务的命令行构建工具。
Grunt能帮我们干啥?
假设有这样一个场景:
编码完成后,你需要做以下工作
- HTML去掉注析、换行符 - HtmlMin
 - CSS文件压缩合并 – CssMinify
 - JS代码风格检查 – JsHint
 - JS代码压缩 – Uglyfy
 - image压缩 - imagemin
 
重复而枯燥的工作太多了,我们需要一个自动化的工作流程,让我们更专注于coding,而不是coding外的繁琐工作。于是Grunt应运而生。可以想像,如果在node环境下,一行命令就搞定了上面的所有工作,是不是节省了很多时间。
Grunt安装配置
安装 grunt-cli
1. 自备node环境(>0.8.0), npm包管理
2. 卸载旧版本grunt(<0.4.0) (没装过请忽略)
npm uninstall grunt -g
3. 安装grunt-cli
npm install grunt-cli -g
安装 grunt-init(可选)
npm install grunt-init -g
可选安装,grunt-init是个脚手架工具,它可以帮你完成项目的自动化创建,包括项目的目录结构,每个目录里的文件等。具体情况要看你运行grunt-init指定的模板,以及创建过程中你对问题的回答。由于篇幅且配置 grunt-init 模板较为复杂,本课暂不展开讨论,下一课将详细讲解。
配置 grunt
从官网下载package.json和Gruntfile.js 文件放到项目根目录,并对文件进行修改配置.
package.json//项目自动化所依赖的相关插件。Gruntfile.js//项目自动化工作流配置文件。
package.json 文件的基本内容:

Gruntfile.js 文件的基本内容:

在实际项目中的应用
1. 先配置好package.json、Gruntfile.js这两个文件,具体如何配置,请看前面的课程讲解。
2. 执行命令,自动下载依赖的Grunt插件
命令行执行:
npm install
3. 启动任务live的执行,这个任务,你可以用来监控你的源文件是否有变化。
命令行执行:
grunt live
4. 启动任务build的执行,这个任务,你可以用来合并所有的js源文件
命令行执行:
grunt build
Grunt使用总结
1. 配置简单。配置文件Gruntfile.js是JS格式的,比较贴近前端的知识点。相对Ant之类的是基于JAVA的,而且又是xml配置,相对来说学习成本低。
2. Grunt能为我们做的远不只这么多,很多Grunt插件待我们去挖掘使用。
比如:haml less coffeeScript dataURI html2json
3. 每个人的具体需求不一样,可以按自己的习惯合理配置,组合成最适合自己项目的自动化工作流。
4. Grunt团队很勤劳,社区活跃,有兴趣可以持续关注。
加油
grunt入门讲解6:grunt使用步骤和总结的更多相关文章
- grunt入门讲解2:如何使用 Gruntfile 配置任务
		
Grunt的task配置都是在 Gruntfile 中的grunt.initConfig方法中指定的.此配置主要包括以任务名称命名的属性,和其他任意数据.一旦这些代表任意数据的属性与任务所需要的属性相 ...
 - grunt入门讲解1:grunt的基本概念和使用
		
Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用.老版本的 Node. ...
 - grunt入门讲解7:项目脚手架grunt-init
		
grunt-init是一个用于自动创建项目脚手架的工具.它会基于当前工作环境和你给出的一些配置选项构建一个完整的目录结构.至于其所生成的具体文件和内容,依赖于你所选择的模版和构建过程中你对具体信息所给 ...
 - grunt入门讲解4:如何创建task(任务)
		
每当运行Grunt时, 你可以为其指定一个或多个任务, 这些任务用于告诉Grunt你想要它做什么事情. 如果你没有指定一个任务,并且你已经定义一个名为 "default" 的任务, ...
 - grunt入门讲解5:创建插件,安装Grunt以及常见问题
		
创建插件 创建插件主要有以下几个步骤: (1)通过 npm install -g grunt-init 命令安装 grunt-init .(2)通过 git clone git://github.co ...
 - grunt入门讲解3:实例讲解使用 Gruntfile 配置任务
		
这个Gruntfile 实例使用到了5个 Grunt 插件: grunt-contrib-uglify grunt-contrib-qunitgrunt-contrib-concatgrun ...
 - Grunt 入门
		
转自:http://user.qzone.qq.com/174629171/blog/1404433906 Grunt被定义为:the javascript task runner. 什么算是Java ...
 - Grunt入门学习之(1) -- 环境安装
		
Grunt入门学习(1) - 环境安装 这周根据项目需要,在项目的基础上分模块开发了一个小的项目板块,但是在规范组织每个模块的代码和其依赖性时比较麻烦,需要一个项目板块的构建工具.各个模块都包括其对应 ...
 - Grunt入门
		
Grunt 新手一日入门 2014.06.20 前端相关 TOC 1. 用途和使用场景 2. 开发一个任务自动处理器 3. 开始学习 Grunt 3.1. 安装 Grunt 3.2. 生成 packa ...
 
随机推荐
- 多线程Java Socket编程示例
			
package org.merit.test.socket; import java.io.BufferedReader; import java.io.IOException; import jav ...
 - 《Java 程序设计》课堂实践项目-Arrays和String单元测试
			
<Java 程序设计>课堂实践项目-Arrays和String单元测试 课后学习总结 目录 改变 Arrays和String单元测试实验要求 课堂实践成果 课后思考 改变 修改了博客整体布 ...
 - My97DatePicker:开始时间和结束时间的最大间隔为1个月30天,并且不大于当前时间(3种方法)
			
问题的背景 在之前做Web项目的时候,开始时间和结束时间,只有2个要求: 1.开始时间必须小于等于结束时间,不能超过当前时间. 2.结束时间必须大于等于开始时间,不能超过当前时间. 由于开始时间不大于 ...
 - Deep Learning 资料总结
			
http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/ : 理解神经网络 ELU:
 - Codeforces 912 D. Fishes (贪心、bfs)
			
题目链接:Fishes 题意: 有一个n×m的鱼塘,有一张r×r的渔网,现在往池塘里面放k条鱼(每个格子只能放一条鱼), 现在撒网的地方是随机的(必须在池塘内),问能捕的鱼的期望值最大是多少? 题解: ...
 - tcp三次握手四次挥手那些事
			
建立TCP需要三次握手才能建立,而断开连接则需要四次挥手.三次握手,四次挥手流程图如下: 一.首先看下如何通过三次挥手----------建立连接 首先客户端发送连接请求报文,服务端接受连接后回复AC ...
 - 网络设备重的loopback接口
			
回环接口在我们做试验的过程有典型的应用,几乎可以离不开它,一个虚拟的接口,给我带来了很大的方便,有了回环接口,你可以不用为你的PC,来添加第二块物理网卡,就可以完成VM,服务器搭建,群集,VPN等试验 ...
 - javascript中encodeURI和decodeURI方法使用介绍
			
encodeURI和decodeURI是成对来使用的,因为浏览器的地址栏有中文字符的话,可以会出现不可预期的错误, 所以可以encodeURI把非英文字符转化为英文编码,decodeURI可以用来把字 ...
 - .net如何发送格式化的文本内容
			
MailMessage mailMessage = new MailMessage();ArrayList attachsendObject = new ArrayList();string mail ...
 - [C++]linux下实现rm()函数删除文件或目录
			
转载请注明原创:http://www.cnblogs.com/StartoverX/p/4600866.html 在linux下有两个函数可以用来删除文件: #include <unistd.h ...