学习Gulp过程中遇到的一些单词含义
注:以下有的单词的含义不仅仅在gulp里面是一样的,在其他某些语言里面也是一样
nodejs Doc:https://nodejs.org/api/stream.html
gulp Api:http://www.gulpjs.com.cn/docs/api/
插件网站:
https://www.npmjs.com/browse/keyword/gulpplugin
http://gulpjs.com/plugins/
gulp Api列表
- gulp.src(globs[, options])
- gulp.dest(path[, options])
- gulp.task(name[, deps], fn)
- gulp.watch(glob [, opts], tasks) 或 gulp.watch(glob [, opts, cb])
注: 1、2来自Vinyl,3来自Orchestrator
src
source 的缩写,表示源操作数,源文件
dest
destination 的缩写,表示目标操作数,目标文件
globs
golb的复数,glob是global的缩写,作用就是匹配文件
例子: *.txt 是匹配所有以text为扩展名的文件
什么是glob?
在编程设计中,glob是一种模式,它使用通配符来指定文件名。例如:.java就是一个简单的glob,
它指定了所有扩展名为java的文件。glob模式中广泛使用了两个通配符 * 和 ? 。其中
星号表示任意的字符或字符组成字符串,而问号则表示任意单个字符。
glob模式源于Unix操作系统,Unix提供了一个global命令,它可以缩写为glob。glob模式与
正则表达式 类似 ,但它的功能有限。
vinyl-fs
Vinyl是什么?
Vinyl 是一个非常简单的描述一个为文件的元数据对象
Vinyl对象主要有两个属性:path 和 contents
Vinyl Adapter是什么?
虽然Vinyl提供了一个简洁的方式来描述一个文件,现在我们需要一个方法来访问这些文件。
每个文件源需要我所说的Vinyl Adapter来匹配到对应文件使用,一个简单的Vinyl Adapter
暴露了src(globs)和dest(folder)的方法。
每个文件返回一个流。源流提供一个Vinyl 对象,目标流使用Vinyl对象。
Vinyl adapters可以公开可能是特定于它们的输入/输出介质的额外方法,比如vinyl-fs提供的symlink方法。
demo
var map = require('map-stream');
var vfs = require('vinyl-fs');
var log = function(file, cb) {
console.log(file.path);
cb(null, file);
};
vfs.src(['./js/**/*.js', '!./js/vendor/*.js'])
.pipe(map(log))
.pipe(vfs.dest('./output'));
cb
cb是callback的缩写,回调函数
steam
表示文件流,可以想象成水流。
pipe
表示管道,即可以把文件流传到另一个函数
学习Gulp过程中遇到的一些单词含义的更多相关文章
- 关于HTML中,绝对定位,相对定位的理解...(学习HTML过程中的小记录)
关于HTML中,绝对定位,相对定位的理解...(学习HTML过程中的小记录) 作者:王可利(Star·星星) HTML中 相对定位:position:relative; 绝对定位:position ...
- 利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录)
利用JQ实现的,高仿 彩虹岛官网导航栏(学习HTML过程中的小记录) 作者:王可利(Star·星星) 总结: 今天学习的jQ类库的使用,代码重复的比较多需要完善.严格区分大小写,在 $(" ...
- html/css 盒子布局 Margin 、Padding 、border 以及 清除浮动的知识 (学习HTML过程中的小记录)
html/css 盒子布局 Margin .Padding .border 以及 清除浮动的知识 (学习HTML过程中的小记录) 作者:王可利(Star·星星) width 是"宽 ...
- 深度学习训练过程中的学习率衰减策略及pytorch实现
学习率是深度学习中的一个重要超参数,选择合适的学习率能够帮助模型更好地收敛. 本文主要介绍深度学习训练过程中的6种学习率衰减策略以及相应的Pytorch实现. 1. StepLR 按固定的训练epoc ...
- 各种报错各种坑 webpack让我在学习的过程中一度想要放弃
由于拓展部分不是必须的,只是可以增强用户体验,但是有些时候页面给分页预留的位置不够,这个时候我们就可以通过设置来除去这一部分 子分区由两种创建方法,一种是不定义每个子分区子分区的名字和路径由分区决定, ...
- 学习MySQL过程中的随笔二
MySQL深入学习: 视图 使用视图的目的:多次使用同一张临时表(或者已经存在的表) 视图只是一个虚拟表,其本质为[根据SQL语句获取动态的数据集,并为其命名],用户只需使用别名即可获得实时的 ...
- 学习django3过程中的坑
最近跟着Django by Example 2015学习,可老想用最新版的Django3.在学的过程中可踩了不少坑. 今天就又碰到一个: 在这本书中96页有这样的代码: url(r'^login/$' ...
- 学习Android过程中遇到的问题及解决方法——电话监听
也许有时你会有这样一个需求:通电话时有一个重要的事需要记下来或者和一个陌生人特别是大骗子通话时,这是就想如果能把通话录下来就方便多了.(这才是我写这个代码的目的!!!) 在此过程中,犯了一个很大的错误 ...
- 学习FPGA过程中的理论知识
学习FPGA,先要有数电知识,最好有点C语言,,学好硬件描述语言,verilog或者vhdl.在有这些基础上,做一些小的模块不断积累.这里不再赘述. 下面介绍一下关于FPGA学习过程中的一些理论知识. ...
随机推荐
- MySQL数据库报错:Too many connection
每次搭建环境运行一段时间,后台就会报错:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data sourc ...
- [转]Android应用自动更新功能的代码实现
本文转自:http://www.cnblogs.com/coolszy/archive/2012/04/27/2474279.html 由于Android项目开源所致,市面上出现了N多安卓软件市场.为 ...
- Spring Boot运行原理
概述 本文主要写了下Spring Boot运行原理,还有一个小例子. Spring4.x提供了基于条件来配置Bean的能力,而Spring Boot的实现也是基于这一原理的. Spring Boot关 ...
- SpringBoot 2.x (11):定时任务与异步任务
定时任务:有时候我们需要做定时的一些操作,比如统计信息,定时发送邮件等 在SpringBoot中如何进行整合和使用呢? 有哪些方式可以实现定时任务呢? Java自带的java.util.timer: ...
- uvm_reg_sequence——寄存器模型(六)
寄存器模型 uvm_reg_sequence是UVM自带所有register sequence 的基类. 该类包含model, adapter, reg_seqr(uvm_sequencer). 感觉 ...
- 如何启动Intel VT-x
如何启动Intel VT-x 5 在64bit win7系统下安装了Vmware10,然后安装64位的UbuntuKylin 14.04,想要打开UbuntuKylin,弹出如下对话框: 请问该如何启 ...
- UVA116 Unidirectional TSP 单向TSP
分阶段的DAG,注意字典序的处理和路径的保存. 定义状态d[i][j]为从i,j 出发到最后一列的最小花费,转移的时候只有三种,向上,向下,或平移. #include<bits/stdc++.h ...
- tensorflowjs下载源文件到本地不能加载模型解决方案
大多数情况(非源文件错误)下载源文件到本地不能加载模型,那么你可能需要搭建一个本地WEB服务器. 1.安装apache或ngnix,可以参照这个博客 2.强烈推荐一个Chrome插件Web Serve ...
- CNN眼中的世界:利用Keras解释CNN的滤波器
转载自:https://keras-cn.readthedocs.io/en/latest/legacy/blog/cnn_see_world/ 文章信息 本文地址:http://blog.keras ...
- 前端性能优化:细说JavaScript的加载与执行
本文主要是从性能优化的角度来探讨JavaScript在加载与执行过程中的优化思路与实践方法,既是细说,文中在涉及原理性的地方,不免会多说几句,还望各位读者保持耐心,仔细理解,请相信,您的耐心付出一定会 ...