使用gulp,一般只需要用4个API:gulp.src(),gulp.dest(),gulp.task(),gulp.watch()。

1. gulp.src()

用来获取流的,但是要注意的是这个流里的内容不是原始的文件流,而是一个虚拟文件对象流(vinyl files),这个虚拟文件对象中存储着原始文件的路径、文件名、内容等信息,这个我们暂时不用去深入理解,只需要的简单的理解可以用这个方法读取你需要操作的文件就行了。

语法为:

gulp.src(globs[ , options ])

globs参数是文件匹配模式(类型正则表达式),用来匹配文件路径(包括文件名),也可以直接指定某个具体的文件路径。

options为可选参数,通常情况下不需要用到。

2. gulp.dest()

用来写文件的,其语法为:

gulp.dest(path[ , options])

path为写入文件的路径。

options,可选的参数对象,通常用不到。

gulp的使用流程一般是:首先通过 gulp.src()方法获取我们想要处理的文件流,然后把文件流通过 pipe 方法导入到gulp插件中,最后把经过插件处理后的流再通过pipe方法导入到gulp.dest()中,gulp.dest()方法则把流中的内容写入到文件中。

tips:给gulp.dest()传入的路径参数,只能用来指定要生成的文件的目录,而不能指定生成文件的文件名,它生成文件的文件名使用的是导入到它的文件流自身的文件名,所以生成的文件名是由导入到它的文件流决定的。

3. gulp.task()

用来定义任务,内容使用的是Orchestrator,其语法为:

gulp.task( name [ , deps ] , fn )

name:任务名;

deps:是当前定义的任务需要依赖的其他的任务,为一个数组。当前定义的任务会在所有依赖的任务执行完毕后才开始执行。如果没有依赖,则可以省略这个参数。

fn:为任务函数,我们把任务要执行的代码都写在里面。该参数也是可选的。

gulp.task('mytask', ['array','of','task','name' ], function(){ //定义一个有依赖的任务
// do something
})

gulp中执行多个任务,可以通过任务依赖来实现。例如想要执行 one,two,three 这三个任务,我们可以定义一个空的任务,然后把那三个任务当作这个空的任务的依赖就行了。

//只要执行了default任务,就相当于把one,two, three 这三个任务执行了。
gulp.task('default',['one','two','three']);

具体详情(含异步)请点击此链接

4. gulp.watch()

gulp.watch()用来监视文件的变化,当文件发生变化后,我们可以利用它来执行相应的任务,例如文件压缩等。其语法为:

gulp.watch(glob [ , opts] , tasks)

glob:为要监视的文件匹配模式,规则和用法与 gulp.src()方法中的glob相同。

opts:为一个可选的配置对象,通常不需要用到。

tasks:为文件变化后要执行的任务,为一个数组。

其他各种插件,js压缩、css压缩、html压缩、图片压缩......

gulp-API介绍的更多相关文章

  1. 常用ArcGIS for Silverlight 开发API介绍

    1.API介绍 2.Map对象  3.Layer对象 4.Symbol对象 5.Task对象

  2. gulp 使用介绍

    gulp 使用介绍 gulp gulp 插件 gulp的配置文件gulpfile.js gulp 语法 gulp 实例 gulp的缺点 gulp gulp是基于Node.js的前端自动化构建工具,主要 ...

  3. Servlet基础(一) Servlet简介 关键API介绍及结合源码讲解

    Servlet基础(一) Servlet基础和关键的API介绍 Servlet简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中. Servlet容器负责Servl ...

  4. python学习笔记(win32print API介绍)

    最近博主在研究用python控制打印机 这里整理下win32print的API介绍,官网地址http://timgolden.me.uk/pywin32-docs/win32print.html Op ...

  5. 使用html5中video自定义播放器必备知识点总结以及JS全屏API介绍

    一.video的js知识点: controls(控制器).autoplay(自动播放).loop(循环)==video默认的: 自定义播放器中一些JS中提供的方法和属性的记录: 1.play()控制视 ...

  6. gulp api

    gulp api 简介 gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成 gulp是基于Nod ...

  7. Commons-lang API介绍

    4.1 Commons-lang API介绍 4.1.1 StringUtils 4.1.2 StringEscapeUtils 4.1.3 ArrayUtils 4.1.4 DateUtils 4. ...

  8. APP自动化框架LazyAndroid使用手册(3)--核心API介绍

    作者:黄书力 概述 在前一篇博文中,简要介绍了一款安卓UI自动化测试框架LazyAndroid (http://blog.csdn.net/kaka1121/article/details/53204 ...

  9. Spring Boot 2.x 编写 RESTful API (一) RESTful API 介绍 & RestController

    用Spring Boot编写RESTful API 学习笔记 RESTful API 介绍 REST 是 Representational State Transfer 的缩写 所有的东西都是资源,所 ...

  10. FastDFS api介绍

    1. 命令行api介绍 FastDFS提供了可用于运维测试的命令行api,下面进行介绍: 1.1 fastdfs服务管理 tracker进程服务管理脚本 /etc/init.d/fdfs_tracke ...

随机推荐

  1. Githug攻略

    ruby运行环境安装 githug 是一个 ruby 程序,运行的 githug 需要 ruby 运行环境.下面部分的主要内容是如何在不同平台上安装好 ruby 环境. MacOSX MacOSX 里 ...

  2. java设计模式——迭代器模式

    一. 定义与类型 定义:提供一种方法,顺序访问一个集合对象中的各个元素,而又不暴露该对象的内部表示 类型:行为型. 二. 使用场景 (1) 访问一个集合对象的内容而无需暴露它的内部表示 (2)  为遍 ...

  3. JVM性能调优(out of memory内存溢出/泄露出来)

    JVM基础知识: JVM调优工具: 1.jmap jmap常用参数 命令:jmap -heap PID >> D:\heap.log 解释: using thread-local obje ...

  4. Win10预览版激活信息

    微软在10月2日零点正式公开了Win10预览版的下载地址,这个时间大家应该逐步开始安装工作了,因此提出下面两个问题的用户特别多,IT之家再稍作告知一下.1.Win10预览版安装密钥是什么?答:NKJF ...

  5. JS中的执行环境和作用域

    window 是最大最外围的执行环境,然后每个函数都有自己的执行环境.JS代码是从上到下执行的,单纯的用语言描述可能会有点绕,而且不大直观.我们看着代码来 console.log('global be ...

  6. 15、SpringBoot------整合swagger2

    开发工具:STS 前言: 对外提供一个Api,无论是对开发.测试.维护,都有很大的帮助. 下面我们来实现swagger2. 参考实例:https://blog.csdn.net/weixin_3947 ...

  7. 关于discuz 不能全文搜索的问题

    这个问题客服反馈很多次了,以为discuz 默认搜索只能搜标题,除非配置了sphinx全文搜索引擎. 但是之前比较老的员工说以前能用的,也就是discuz老版本. 今天突然想到是不是discuz纵横搜 ...

  8. java对一个int数组进行排序、去重

    思路: 1.使用 HashSet 进行去重 2.将 HashSet 变为 TreeSet 3.使用 TreeSet 进行排序 4.将 Set 变为 Integer 数组 5.将 Integer 数组变 ...

  9. git--分布式版本管理系统

    参考博客:廖雪峰的官方网站 一.window安装git Git官网直接下载安装程序,默认选项安装即可. 1.设置自己的git(cmd命令或者git bash进入) git config --globa ...

  10. 【c学习-5】

    int main(){ //二维数组的应用 int i,j; int a[2][3]; for(i=0;i void myFunction(){ int a[3]; int i; int max; f ...