我的grunt学习笔记】的更多相关文章

本文主要讲Grunt任务配置. 说明:本文所有示例都基于Grunt 0.4.5版本. 一 说明 使用Grunt实现项目的打包等工程化工作,实际上是通过Grunt提供的机制和插件,配置一个个任务(例如:拷贝内容.混淆压缩.格式检查.清除等),当输入grunt命令时,就逐个执行配置好的任务,从而实现项目打包等工程化工作. Grunt的任务配置都是在 Gruntfile.js文件 中的grunt.initConfig(configObj)参数configObj中指定的.如果你还不知道 Gruntfil…
什么是grunt?  Grunt是一个JavaScript任务运行器,用于自动执行频繁任务(如压缩,编译,单元测试)的工具.它使用命令行界面来运行在文件中定义的自定义任务(这个文件称为Gruntfile). Grunt由Ben Alman创建,用Node.js编写.它通过npm分发.现在,Grunt生态系统中有超过5,000个插件可用. 如何使用grunt? 基本概念 1.CLI(Command-line interface):Grunt的命令行界面(CLI)可以通过npm全局安装.执行grun…
1. 在使用grunt前需要执行的几条命令和用途 npm uninstall -g grunt  删除掉全局grunt npm install -g grunt-cli 把grunt加入你的系统搜索路径中 npm init 自动创建一个基本的 package.json 文件 npm install <module> –save-dev  安装一个grunt插件,并在package.json文件中将它添加到devDependencies属性中(目前尚不清楚devDependencies和depe…
你需要检查js语法错误,然后再去压缩js代码.如果这两步你都去手动操作,会耗费很多成本.Grunt就能让你省去这些手动操作的成本. “—save-dev”的意思是,在当前目录安装grunt的同时,顺便把grunt保存为这个目录的开发依赖项.看到“开发依赖项”这一次,是不是觉得有些眼熟?上文在配置package.json时,其中的“devDependencies”中就会存储开发依赖项. 下面就是一些常有grunt开发依赖插件 Contrib-jshint——javascript语法错误检查:Con…
本文主要讲如何用Grunt打包AngularJS的模板HTML. 一 说明 AngularJS中使用单独HTML模板文件的地方非常多,例如:自定义指令.ng-include.templateUrl等.通常这些文件都是独立的html文件,AngularJS中使用这些文件都是通过文件路径地址引用的. 当用Grunt打包压缩整个项目时,如何处理这些html模板文件呢?本文讲的grunt-angular-templates插件可以解决该问题. grunt-angular-templates插件的基本原理…
本文主要讲如何使用Grunt实现less文件压缩. 一 说明 less是非常常用的样式框架之一,Grunt也提供了可以编译和打包less样式文件的插件:grunt-contrib-less. 实现原理分析: 分析该插件源码,可以发现该插件实际只做了对样式文件的各种处理,真正进行编译less文件到css文件,实际还是调用的less库的less.render方法实现的. 如下是grunt-contrib-less库源码: 二 安装 npm install grunt-contrib-less --s…
本文主要讲如何使用Grunt实现RequireJS文件压缩. 一 说明 ES6出来前,RequireJS是JavaScript模块化最常用的方式之一.对于使用RequireJS构建的项目,要实现打包压缩,需要使用grunt-contrib-requirejs插件. 二 安装 npm install grunt-contrib-requirejs --save-dev 三 加载任务 grunt.loadNpmTasks('grunt-contrib-requirejs'); 四 配置 在Grunt…
本文主要讲expand使用方法. 当你希望处理大量的单个文件时,这里有一些附加的属性可以用来动态的构建一个文件列表.这些属性都可以用于 Compact 和 Files Array 文件映射格式. expand 设置为true将启用下面的选项: cwd 所有src指定的匹配都将相对于此处指定的路径(但不包括此路径) . src 相对于cwd路径的匹配模式. dest 目标文件路径前缀. ext 对于生成的dest路径中所有实际存在文件,均使用这个属性值替换扩展名. extDot 用于指定标记扩展名…
本文主要讲通配符和模板的基本使用方法. 一 通配符 通常分别指定所有源文件路径是不切实际的,因此Grunt通过内置支持node-glob 和 minimatch 库来匹配文件名(又叫作globbing). 然这并不是一个综合的匹配模式方面的教程,你只需要知道如何在文件路径匹配过程中使用它们即可: * 匹配任意数量的字符,但不匹配 / ? 匹配单个字符,但不匹配 / ** 匹配任意数量的字符,包括 /,只要它是路径中唯一的一部分 {} 允许使用一个逗号分割的“或”表达式列表 ! 在模式的开头用于排…
本文主要讲配置任务中的filter,包括使用默认fs.Stats方法名和自定义过滤函数,以及filter的实现原理. 通过设置filter属性可以实现一些特殊处理逻辑.例如:要清理某个文件夹下的所有空文件夹,这时使用clean任务时,需要判断该文件夹下的哪些是文件,哪些是文件夹,只对空文件执行clean任务. 具体使用方法分为如下两种: 一 使用fs.Stats方法作为过滤函数 fs.stats是NodeJS的一个类,上边提供了很多对文件判断的方法,具体可以参考这里. 如下将filter设置为'…
题记:虽然现在大家都在推Webpack,无奈业务需要,因此研究下Grunt. 说明:本文是基于Grunt 0.4.5版本. 一 说明 为何要用构建工具? 一句话:自动化.对于需要反复重复的任务,例如压缩(minification).编译.单元测试.linting等,自动化工具可以减轻你的劳动,简化你的工作.当你在 Gruntfile 文件正确配置好了任务,任务运行器就会自动帮你或你的小组完成大部分无聊的工作. 为什么要使用grunt? Grunt 生态系统非常庞大,并且一直在增长.由于拥有数量庞…
学习笔记--Git安装.图文详解 安装Git成功后,现在安装Gruntjs,官网:http://gruntjs.com/ 一.安装node 参考node.js 安装.图文详解 (最新的node会自动安装npm) 二.安装grunt命令行工具grunt-cli 卸载旧版本grunt(<0.4.0) (没装过请忽略) npm uninstall grunt -g 安装grunt-cli npm install grunt-cli -g 使用-g全局安装,这样可以在任何一个目录里使用了.命令: npm…
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最近在学习seaJs和AngualrJs的指令和服务,感觉angularjs实在太强大了,好吧,步入主题,今天在深入了解seaJs的时候发现了一款神器,不过这款神奇貌似没有更新和维护了,但我测试了一下,还是可以用的. 这款神奇就是SeaJS 组件库 ,Sea.js 是一个适用于 Web 浏览器端的模块…
Sass又名SCSS,是CSS预处理器之一,,它能用来清晰地.结构化地描述文件样式,有着比普通 CSS 更加强大的功能. Sass 能够提供更简洁.更优雅的语法,同时提供多种功能来创建可维护和管理的样式表.以下是我的学习笔记. Sass安装环境 1.安装sass(mac) ①:Ruby安装 ②:安装sass sudo gem install sass 可以通过 sass -v检测是否完成安装   2.更新sass gem update sass 3.卸载(删除)sass gem uninstal…
angular1学习笔记(2)- 前端开发环境 1.代码编辑工具 2.断点调试工具 3.版本管理工具 4.代码合并和混淆工具 5.依赖管理工具 6.单元测试工具 7.集成测试工具 常见的前端开发工具 1.subline 2.webstrom 3.chrom 插件 Batarang (断点调试工具) 3.git.svn  版本管理工具 4.nodejs 开发和调试工具    npm包管理器    grunt.gulp.webpack   代码合并和混淆工具 5.依赖管理工具 bower 6.htt…
这篇博客是我通过阅读React官方文档的教程总结的学习笔记,翻译可能存在误差,如有疑问请参见http://reactjs.cn/react/docs/tutorial.html . 一.所需文件 在编写react代码前需要在html文件中引入三个文件 我通过bower把react.js和react-dom.js下载在本地,这样在刷新浏览器时,浏览器加载会更快.第三个文件是react解码器,由于react用到的语法是jsx,浏览器是不能直接执行jsx语法的,要想你写的react代码在浏览器中运行,…
webpack是前端构建系统就像grunt和gulp(之前有学习过grunt所以也就大概明白webpack是个什么东西),所以说前端技术大部分还真是相通的,现在觉得当时多看的东西并不白费,虽然长时间不用会忘掉一丢丢,但是看过脑海中还是有印象的. webpack能够用作模块加载和打包类似Browserify,且能做更多.类似上诉模块管理工具都会有一个相应的配置文件,用于说明,你打包的文件,包装的模块等. webpack常用命令: webpack -p 压缩混淆脚本 webpack --watch…
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者服务器 一.安装webpack 你需要之前安装node.js $ npm install webpack -g 安装成功后,便可以使用webpack命令行了. ok,开始工作! 二.新建一个空目录,名字为myApp,文件如下 entry.js document.write("It works.&qu…
1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 3.  UML类图 4.  思维导图 (右键查看图片可放大) 5.  PHP代码 我已经把有关这部分PHP代码,上传到git.oschina.net上,可以在 https://git.oschina.net/andywww/myTest 的文件夹template_Study下看到相关的完整代码. templa…
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UML类图解析: 4.PHP代码: 我已经把有关这部分PHP代码,上传到git.oschina.net上,可以在 https://git.oschina.net/andywww/myTest 的文件夹 login1下看到相关的完整代码. (完.)…
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.out参数 二.C#winform编程 1.C#WinForm基础制作简单计算器 2.C#WinForm基础Email分析器 3.C#WinForm基础累加器 4.C#WinForm基础图片(显示和隐藏) 5.C#WinForm基础登陆失败三次退出系统 6.C#WinForm基础城市选择器 三.c#面向…
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之GUI编程窗体事件 6.JAVA之GUI编程Action事件 7.JAVA之GUI编程鼠标事件 8.JAVA之GUI编程键盘码查询器 9.JAVA之GUI编程列出指定目录内容 10.JAVA之GUI编程弹出对话框Dialog 11.JAVA之GUI编程菜单 12.JAVA之GUI编程打开与保存文件…
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u5B8B%u4F53" 就是\5B8B\4F53 font-family: 中文,英文,最好的是unicode编码 eg. font-family: "SimSun","SimHei",sans-serif; 字体名称 英文名称 Unicode 编码 宋体 S…
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为http host: 定义域主机(http的默认主机是www) domain: 定义因特网域名 port: 定义端口号,默认是端口80 path: 网页在服务器上的路径 filename: 文件名称 htm & html 文件名的区别: 之前的老版本系统只支持显示3位的文件名后缀,所以使用htm 现…
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.microsoft.com/en-us/library/windows/desktop/ee417025(v=vs.85).aspx . 我本意是记录下学习笔记,但可能写成了翻译,但这也没有办法的事,MSDN的写作风格就是简单凝练,缺少参考索引,所以看MSDN往往也就是读完正文,点点加有超链接的名词,顶多再跑…
ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了queue机制还要用mbox呢,只要设置queue的msg只有一个不就行了?其实很简单,就是为了节约资源,因为使用queue的话需要专门描述queue的机构体os_q,同时需要分配一段内存用来存放msg,而如果直接使用mbox机制的话,就好多了,节约..... 首先从mbox的创建开始,mbox创建的函…
使用ucos实时操作系统是在上学的时候,导师科研项目中.那时候就是网上找到操作系统移植教程以及应用教程依葫芦画瓢,功能实现也就罢了,没有很深入的去研究过这个东西.后来工作了,闲来无聊就研究了一下这个只有几千行代码的操作系统,也没所有的代码都看,只是看了其中部分内容.自己还自不量力的尝试着去写过简单的操作系统,最后写着写着就被带到了ucos的设计思路上了,后来干脆就“copy”代码了,虽说对操作系统内核的理解有很大的帮助,但是很是惭愧啊,智力不够,对操作系统内核的设计者更加仰慕,O(∩_∩)O哈哈…
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔记系列>.其实,早在2014年Hadoop2.x版本就已经开始流行了起来,并且已经成为了现在的主流.当然,还有一些非离线计算的框架如实时计算框架Storm,近实时计算框架Spark等等.相信了解Hadoop2.x的童鞋都应该知道2.x相较于1.x版本的更新应该不是一丁半点,最显著的体现在两点: (1)H…
1.函数调用的四种方式 第三种:构造函数调用 如果构造函数调用在圆括号内包含一组实参列表,先计算这些实参表达式,然后传入函数内.这和函数调用和方法调用是一致的.但如果构造函数没有形参,JavaScript构造函数调用的语法是允许省略实参列表和圆括号的. 如: var o=new Object(); //->等价于 var o=new Object;   第四种:使用call()与apply()间接调用(放在后面详细说明)   2.函数的实参与形参——可选形参 先看一个例子: function g…
1.函数命名规范 函数命名通常以动词为前缀的词组.通常第一个字符小写.当包含多个单词时,一种约定是将单词以下划线分割,就像"like_Zqz()". 还有一种就是"likeZqz()".有些些函数是用作内部用的或者为私有函数通常以一条下划线为前缀,就像"_zqzName()".   2.以表达式方式定义的函数 如: var zqz=function (){ return "zhaoqize"; } 在使用的时候必须把它赋值给一…