这是一种简单的工具,非常容易上手而且功能也是多种多样。

  例如将整个网站打包下来的时候,看到的js代码总是混乱的,这就是类似于gulp的工具进行了加密,其他的功能还有很多这里就不赘述了。

  

  首先是gulp的安装。

 gulp的安装首先需要一个服务器,这里安装了node.js和Git Bash。将两样东西安装好了之后,进入gulp的目录下面,然后右键

点击Git Bash Here。

然后输入node node_modules/gulp/bin/gulp.js -sw进入目录

之后便可以输入指令了,如

node node_modules/gulp/bin/gulp.js pair.

关于gulp的功能,其中有分别有——

(1)less文件

  less文件是一个语法上非常近似css的文件,使用方便,因为在这个less文件上进行的改动都会直接传输到总的css文件上进行整合。这样你就可以根据需要创建多个less文件,而不需要将所有的css代码都挤在一起。

  语法上非常近似的less还可以这么使用:

.a{width:300px;

height:300px;

background:red;

p{

color:red;

}

}

没错,这玩意儿可以这样嵌套,代表属于这个a类的p元素的字体颜色会变成红色。

即便是将结构改的乱七八糟也没关系,最后整合的时候还是会变回来的——

.a{width:300px;

height:300px;

background:red;

}

.a p{

color:red;

}

(2)文件的【流】动

除了这些小东西之外,gulp还有流功能,将某个文件放置,整合同步编译等等都可以做到,例如——

使用以下代码,对gulp的原本文件进行修改,可以做到——

gulp.task("conn",function(){
gulp.src("src/css/*.less").pipe(concat('aa.css')).pipe(gulp.dest(__dirname+'/dist/css'))

})

将根目录下的arc文件夹下的,css文件里所有.less文件,【全部整合成一个aa.css文件】,将其拷贝到一个路径上。这个路径是【根文件路径+/dist/css】

因为本人学的也不是很多,所以在这里就列举机种语法——

gulp.task("yahaha", function(){
console.log('aa')
})

这代表创建一个任务yahaha,当执行这个服务的时候,执行后面的函数,结果会在控制台上显示aa。

而执行的方式是在Git Bash中执行node node_modules/gulp/bin/gulp.js

后面加上任务名字,完整地就是:node node_modules/gulp/bin/gulp.js yhaha

控制台显示也会在这里显示出aa。

下图是执行了pair任务的结果:

有时候,你也能看到这个句式——

gulp.task("task_three", ['task_one', 'task_two'], function(){

.....

})

这代表着执行这个任务之前,会先执行task_one和task_two两个任务。

接下来是这个——

gulp.task("auto_updatejs", function(){
gulp.watch("src/example/js/*.js", ['gulpConcat'])
})

方法中,gulp.watch代表监听事件,它会监听一个或多个文件,上文的代码监听的就是根目录下src/example/js路径中的【所有结尾是.js的文件,一旦文件发生了更改(这里的评判标准是文件是否保存了),变会触发事件,从而执行后面的任务。

gulp.task("gulpConcat", function(){
gulp.src('src/css/a.less').pipe(gulp.dest("C:/Demo/testGyf/dist"))
 gulp.src('src/css/*.js').pipe(gulp.dest(otherDist));

});

第一句代表着将路径下的a.less中的数据读出来,然后保存在后面的路径当中

第二句代表将路径下所有.js文件保存在后面的路径中,这个路径自然可以是变量。

gulp.src('src/css/*.js').pipe(concat('aa.js')).pipe(gulp.dest(xiu))

这个代表将数据读取出来之后,通过【管道】将其整合成aa.js然后存放在后面的路径下面。

gulp相关知识(1)的更多相关文章

  1. 构建工具-Gulp 相关知识

    layout: layout title: 『构建工具-Gulp』相关内容整理 date: 2017-04-26 22:15:46 tags: Gulp categories: Tools --- G ...

  2. gulp相关知识(2)

    将之前的东西的理论部分整理了一下—— gulp 前端构建工具 它可以帮助我们完成一些自动化操作 它需要一些插件的支持 var gulp = require('gulp'); --> gulp命令 ...

  3. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  4. 移动WEB像素相关知识

    了解移动web像素的知识,主要是为了切图时心中有数.本文主要围绕一个问题:怎样根据设备厂商提供的屏幕尺寸和物理像素得到我们切图需要的逻辑像素?围绕这个问题以iphone5为例讲解涉及到的web像素相关 ...

  5. listener监听器的相关知识

    从别人的博客上我学习了listener的相关知识现在分享给大家 1.概念: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上 ...

  6. UIViewController相关知识

    title: UIViewController 相关知识date: 2015-12-13 11:50categories: IOS tags: UIViewController 小小程序猿我的博客:h ...

  7. 【转】java NIO 相关知识

    原文地址:http://www.iteye.com/magazines/132-Java-NIO Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的 ...

  8. NSString使用stringWithFormat拼接的相关知识

    NSString使用stringWithFormat拼接的相关知识 保留2位小数点 1 2 3 4 //.2代表小数点后面保留2位(2代表保留的数量) NSString *string = [NSSt ...

  9. iOS网络相关知识总结

    iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...

随机推荐

  1. MVC3+EF4.1学习系列(四)----- ORM关系的处理

    上篇文章 终于把基础的一些操作写完了 但是这些都是单表的处理 而EF做为一个ORM框架  就必须点说说对于关系的处理 处理好关系 才能灵活的运用EF 关于关系的处理 一般就是  一对一   一对多  ...

  2. 3. JavaScript 数据类型

    1. 主要类型 字符串(String).数字(Number).布尔(Boolean).数组(Array).对象(Object).空(Null).未定义(Undefined). JavaScript 拥 ...

  3. Canvas基础讲义

    今天先花点简单的篇幅和大家介绍下canvas. 1. 基本篇 1.1. 什么是 Canvas canvas 是 HTML5 提供的一个用于展示绘图效果的标签. canvas 原意画布, 帆布. 在 H ...

  4. form表单验证提示语句

    <input id="idcardcode" name="idcardcode" class="form-control"       ...

  5. 基于ZooKeeper的分布式Session实现

    1.   认识ZooKeeper ZooKeeper—— “动物园管理员”.动物园里当然有好多的动物,游客可以根据动物园提供的向导图到不同的场馆观赏各种类型的动物,而不是像走在原始丛林里,心惊胆颤的被 ...

  6. bug--Unable to add window –token is not valid; is your activity running?

    错误原因是Dialog在show的时候必须要有一个activity作为窗口载体,上面的日志的意思是承载Dialog的activity已经被销毁了,不存在了 解决方法: 1.粗暴一点直接try catc ...

  7. Windows进程间通信(下)

    六.动态数据交换(Dynamic Data Exchange) 动态数据交换(DDE)是使用共享内存在应用程序之间进行数据交换的一种进程间通信形式.应用程序可以使用DDE进行一次性数据传输,也可以当出 ...

  8. Web开发人员不要错过的60款用户界面设计工具(下)

    41. Snipplr 包含最新的脚本和jQuery技术资源库. 42. Midori Midori是一个超轻量级的JavaScript框架,可使用CSS选择器快速访问页面上对应的元素. 43. ro ...

  9. python 文件夹操作

    常用的一些 import os for d, cd, fl in os.wald('.'): for f in fl: sufix = os.path.splitext(f)[1][1:] if su ...

  10. int与byte的区别

    Java中涉及byte.short和char类型的运算操作首先会把这些值转换为int类型,然后对int类型值进行运算,最后得到int类型的结果.因此,如果把两个byte类型值相加,最后会得到一个int ...