最近在学习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. a-b(高精度)

    我现在已经是才语言中的一员了,我在此献上今日的佳作——a-b(高精度),以下是我的程序及其注释,欢迎各位来观赏,耶! 程序: #include<stdio.h> #include<s ...

  2. C++静态成员函数访问非静态成员的几种方法

    大家都知道C++中类的成员函数默认都提供了this指针,在非静态成员函数中当你调用函数的时候,编译器都会“自动”帮你把这个this指针加到函数形参里去.当然在C++灵活性下面,类还具备了静态成员和静态 ...

  3. jquery 幻灯片

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. ecshop安装程序源码阅读-安装脚本(1)

    定义系统判断常量 引入安装初始化文件 设置时区 报告所有错误 定义站点根常量 定义php自身相对路径 引入系统,公共函数库 引入并初始化错误处理对象 引入并初始化模板引擎 引入安装相关业务 发送HTT ...

  5. javascript 获取 class 样式 重新赋值class样式 为div等系列标签内更改内容

    name = document.getElementById(project_not_through_id).className;                     // 获取目标id的 cla ...

  6. windows 基础及基本软件测试环境搭建

  7. JS实现继承多态

    //类对象构造模版,无new访问,类似静态访问 var Class = { create: function () { return function () { //initialize初始化 //a ...

  8. 《C和指针》章节后编程练习解答参考——6.6

    <C和指针>——6.6 题目: 在指定的下限.上限之间使用数组方法查找质数,并将质数提取出来. 要求: 略 解答代码: #include <stdio.h> #define U ...

  9. ubuntu修改主机名称

    一.为何要修改主机名称 在安装Ubuntu时,一不小心主机名称输入的“too long”了,导致命令行上就提示符占据了一行的1/3,迫使我产生修改主机名称的冲动. 二.操作方法 原理:系统启动时,会从 ...

  10. java web 代码

    原 30套JSP网站源代码合集 IT小白白 发布时间: 2012/12/28 14:30 阅读: 272 收藏: 3 点赞: 0 评论: 0 JSP技术是以Java语言作为脚本语言的,JSP网页为整个 ...