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上安装一个应用的过程,通过“插件加载”连接源进行应用下载,在“项目与任务配置”过程中实现应用的安装,创建“任务定义”快捷方式,当连接“任务定义”快捷方式时,实际运行的是“项目与任务配置”中安装的应用。
grunt个人理解的更多相关文章
- windows本地搭建grunt前端项目构建环境
初学,目前对grunt的理解和需求仅在于简单的文件合并.压缩.语法检查,其强大功能还有待研究. 安装前环境准备 (1)grunt依赖nodejs运行环境,所以要玩grunt得先把nodejs安装好,n ...
- 认识Web前端、Web后端、桌面app和移动app新开发模式 - 基于Node.js环境和VS Code工具
认识Web.桌面和移动app新开发模式 - 基于Node.js环境和VS Code工具 一.开发环境的搭建(基于win10) 1.安装node.js和npm 到node.js官网下载安装包(包含npm ...
- Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G
code&monkey Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...
- grunt yoman bower的理解
grunt : 前端构建工具 1 什么事前端构建工具 目前前端已经开始了工程化 比如 一个项目 里面用到了几十个js文件 几十个css 很多图片资源 我们如果引入 还是按照以前的方式 out 因此这个 ...
- grunt配置任务
这个指南解释了如何使用 Gruntfile 来为你的项目配置task.如果你还不知道 Gruntfile 是什么,请先阅读 快速入门 指南并看看这个Gruntfile 实例. Grunt配置 Grun ...
- 是时候搁置Grunt,耍一耍gulp了
也算是用了半年Grunt,几个月前也写过一篇它的入门文章(点此查看),不得不说它是前端项目的一个得力助手.不过技术工具跟语言一样日新月异,总会有更好用的新的东西把旧的拍死在沙滩上(当然Grunt肯定没 ...
- 应用Grunt自动化地优化你的项目前端
在不久前我曾写了一篇 应用r.js来优化你的前端 的文章,为大家介绍了r.js这个实用工具,它可以很好地压缩.合并前端文件并打包整个项目.但是如果将r.js放到项目中,我们不得不顾及到一个问题——项目 ...
- nodejs、npm、grunt——名词解释
最近着手开发一个新项目,打算从工程化的角度整理一套自己的前端开发.发布体系. grunt这些工具,之前别人用我也用,并没有认真想过它们的前世今生,正好趁着这个机会,我来理一理目前业界比较流行这些工具的 ...
- [译]为什么我要离开gulp和grunt转投npm脚本的怀抱
原文链接:https://medium.freecodecamp.com/why-i-left-gulp-and-grunt-for-npm-scripts-3d6853dd22b8#.n7m1855 ...
随机推荐
- php 单引号与双引号区别
一.单引号与双引号区别 1." "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出. 2.' '单引号里面的不进行解释,直接输出. 从字面意思上就可以看出,单引号比双引 ...
- 读书笔记之 - javascript 设计模式 - 命令模式
本章研究的是一种封装方法调用的方式.命令模式与普通函数有所不同.它可以用来对方法调用进行参数化处理和传送,经过这样处理过的方法调用可以在任何需要的时候执行. 它也可以用来消除调用操作的对象和实现操作的 ...
- LVS 介绍以及配置应用
1.负载均衡集群介绍 1.1.什么是负载均衡集群 负载均衡集群提供了一种廉价.有效.透明的方法,来扩展网络设备和服务器的负载.带宽.增加吞吐量.加强网络数据的处理能力.提高网络的灵活性和可用性 搭建负 ...
- Java单例模式深入详解
原文地址:http://www.cnblogs.com/hxsyl/ 仅作为笔记收藏…… 一.问题引入 偶然想想到的如果把Java的构造方法弄成private,那里面的成员属性是不是只有通过stati ...
- win8.1磁盘使用率100解决方法
关闭家庭组,因为这功能会导致硬盘和CPU处于高负荷状态.关闭方法:Win+C – 设置 – 更改电脑设置 – 家庭组 – 离开如果用不到家庭组可以直接把家庭组服务也给关闭了:控制面板 – 管理工具 – ...
- js获取css属性方法
function getDefaultStyle(obj,attribute){ return obj.currentStyle?obj.currentStyle[attribute] : docum ...
- 探讨 yum 与 rpm 的安装包数量
安装包数量不相等 [root@localhost ~]# rpm -qa | wc –l #列出所有被安装的rpm package 422 [root@localhost ~]# yum list i ...
- Remote Direct Memory Access (RDMA)
RDMA有三类实现方式,包括RoCE,iWARP和InfiniBand.RDMA的基础是Virtual Interface Architechure (VIA). 参考文档: https://en.w ...
- 有关collection中的一些数据结构
Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些Collection允许相同的元素 ...
- poj 2778 DNA Sequence AC自动机DP 矩阵优化
DNA Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11860 Accepted: 4527 Des ...