grunt个人理解
最近在学习grunt的内容,也希望能将grunt使用在新的项目中,本文是对grunt的相关概念的个人理解,仅供与道友们交流和学习,如有疑义,欢迎道友们指点。
首先,grunt是基于nodejs的,那就先简介一下我对nodejs的理解吧,每一个新生事物的出现都是为了满足特定的需求,正所谓”应运而生“;这里以两款游戏(dota1和dota2)作为例子,apache等相当于dota1,可以满足部分游戏爱好者的诉求;nodejs相当于dota2,dota1能做到的dota2都能做到,除此之外,它在游戏人物模型,画质和玩家匹配模式上都做了升级或创新,给玩家提供了更好的体验;而nodejs的模块部分就相当于游戏的地图部分,不同的地图有不同的游戏场景,游戏本身提供几个的地图模型,玩家也可以自己创造个性的地图载入游戏中自娱自乐;grunt-cli是nodejs的一个模块,即类似游戏中的一个地图场景。grunt-cli与grunt的关系,grunt-cli相当于人才管理处,各个版本的grunt就相当于各类人才,项目相当于公司,公司需要什么样的人才,就通知人才管理处,人才管理出就会挑选特定的人才送给公司。
其次,介绍一下grunt项目中的主要角色和概念;两个文件package.json和gruntfile,前者用于配置依赖包,后者是grunt的主要内容所在,其中涉及到”任务“、”wrapper函数“、”项目与任务配置“、”插件加载“、”任务定义“几个概念;前提要明白grunt是个框架,它通过加载各种任务实现特定的功能;举例说明,grunt比喻为win7系统,任务相当于应用(酷我、迅雷、射手等等),win7系统只要通过安装酷我、射手等这些应用才能实现播放音乐、视屏等功能,”wrapper函数“相当于存储盘(包括系统盘和其它盘),所有的内容都要存在于存储盘中,“项目与任务配置”相当于应用的安装内容,“插件加载”相当于应用的下载url连接,“任务定义”相当于应用的桌面快捷方式,当然这个“任务定义”比快捷方式功能强大,它可以把多个任务连接起来,而快捷方式一般只连接一个应用;想象一下,我们在win7上安装一个应用的过程,通过“插件加载”连接源进行应用下载,在“项目与任务配置”过程中实现应用的安装,创建“任务定义”快捷方式,当连接“任务定义”快捷方式时,实际运行的是“项目与任务配置”中安装的应用。