最近在学习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上安装一个应用的过程,通过“插件加载”连接源进行应用下载,在“项目与任务配置”过程中实现应用的安装,创建“任务定义”快捷方式,当连接“任务定义”快捷方式时,实际运行的是“项目与任务配置”中安装的应用。

grunt个人理解的更多相关文章

  1. windows本地搭建grunt前端项目构建环境

    初学,目前对grunt的理解和需求仅在于简单的文件合并.压缩.语法检查,其强大功能还有待研究. 安装前环境准备 (1)grunt依赖nodejs运行环境,所以要玩grunt得先把nodejs安装好,n ...

  2. 认识Web前端、Web后端、桌面app和移动app新开发模式 - 基于Node.js环境和VS Code工具

    认识Web.桌面和移动app新开发模式 - 基于Node.js环境和VS Code工具 一.开发环境的搭建(基于win10) 1.安装node.js和npm 到node.js官网下载安装包(包含npm ...

  3. Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G

    code&monkey   Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...

  4. grunt yoman bower的理解

    grunt : 前端构建工具 1 什么事前端构建工具 目前前端已经开始了工程化 比如 一个项目 里面用到了几十个js文件 几十个css 很多图片资源 我们如果引入 还是按照以前的方式 out 因此这个 ...

  5. grunt配置任务

    这个指南解释了如何使用 Gruntfile 来为你的项目配置task.如果你还不知道 Gruntfile 是什么,请先阅读 快速入门 指南并看看这个Gruntfile 实例. Grunt配置 Grun ...

  6. 是时候搁置Grunt,耍一耍gulp了

    也算是用了半年Grunt,几个月前也写过一篇它的入门文章(点此查看),不得不说它是前端项目的一个得力助手.不过技术工具跟语言一样日新月异,总会有更好用的新的东西把旧的拍死在沙滩上(当然Grunt肯定没 ...

  7. 应用Grunt自动化地优化你的项目前端

    在不久前我曾写了一篇 应用r.js来优化你的前端 的文章,为大家介绍了r.js这个实用工具,它可以很好地压缩.合并前端文件并打包整个项目.但是如果将r.js放到项目中,我们不得不顾及到一个问题——项目 ...

  8. nodejs、npm、grunt——名词解释

    最近着手开发一个新项目,打算从工程化的角度整理一套自己的前端开发.发布体系. grunt这些工具,之前别人用我也用,并没有认真想过它们的前世今生,正好趁着这个机会,我来理一理目前业界比较流行这些工具的 ...

  9. [译]为什么我要离开gulp和grunt转投npm脚本的怀抱

    原文链接:https://medium.freecodecamp.com/why-i-left-gulp-and-grunt-for-npm-scripts-3d6853dd22b8#.n7m1855 ...

随机推荐

  1. Python:列表

    #!/usr/bin/python3 #列表 是可变的,可修改的 listDemo = ["one","two","three"," ...

  2. XML&DTD&XML Schema学习

    XML(eXtensible Markup Language)可扩展的标记语言.xml在web service编程中尤为重要.在网络传输中可以作为传输数据的载体.xml作为元语言,它可以用来标记数据. ...

  3. IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等

    // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affec ...

  4. CAS单点登录(SSO)完整教程

    转:http://blog.csdn.net/frinder/article/details/7969925 CAS单点登录(SSO)完整教程(2012-02-01更新) 一.教程说明 前言 教程目的 ...

  5. leetcode power(x,n)

    class Solution { public: double pow(double x, int n) { double a=1; if(n==0)return 1; if(x==1)return ...

  6. InputStream的封装类

    package ex03.pyrmont.connector.http; import java.io.IOException; import java.io.InputStream; import ...

  7. 【转】python3 发邮件实例(包括:文本、html、图片、附件、SSL、群邮件)

    特别留意群邮件方式,这是工作中用得多的. 附件,HTML,图片,都需要的. 文件形式的邮件 [python] view plain copy 1.#!/usr/bin/env python3 2.#c ...

  8. vim文本编辑器的总结

    说起文本编辑器,在下就不得不说vim这个老古董了,说老吧,但也是老当益壮,至今还是有不少拥护者.的确,vim很实用,在下就先列出vi的优点吧. 1.如果精通了vim,就可以省去鼠标了. 2.vim是跨 ...

  9. Class.forName()的理解

    转自:http://blog.csdn.net/yanwushu/article/details/7574713 使用jdbc方式连接数据库时会使用一句代码Class.forName(String c ...

  10. OnScroll与OnTouchEvent方法的区别与联系

    onScroll()方法和onTouchEvent()方法的执行过程应该是,先onTouchEvent()的ACTION_DOWN,然后是ACTION_MOVE和onScroll()方法同时进行,最后 ...