gulp教程之gulp中文API

简介:

本文主要翻译gulp官方API,加上自己一点点拙解。

gulp API docs

1、gulp.src(globs[, options])

1.1、说明:src方法是指定需要处理的源文件的路径,gulp借鉴了Unix操作系统的管道(pipe)思想,前一级的输出,直接变成后一级的输入,gulp.src返回当前文件流至可用插件;

1.2、globs:  需要处理的源文件匹配符路径。类型(必填):String or StringArray;

通配符路径匹配示例:

“src/a.js”:指定具体文件;

“*”:匹配所有文件    例:src/*.js(包含src下的所有js文件);

“**”:匹配0个或多个子文件夹    例:src/**/*.js(包含src的0个或多个子文件夹下的js文件);

“{}”:匹配多个属性    例:src/{a,b}.js(包含a.js和b.js文件)  src/*.{jpg,png,gif}(src下的所有jpg/png/gif文件);

“!”:排除文件    例:!src/a.js(不包含src下的a.js文件);

JavaScript

1

2

3

4

5

6

7

8

9

var gulp = require(‘gulp‘),

less = require(‘gulp-less‘);

gulp.task(‘testLess‘, function () {

//gulp.src(‘less/test/style.less‘)

gulp.src([‘less/**/*.less‘,‘!less/{extend,page}/*.less‘])

.pipe(less())

.pipe(gulp.dest(‘./css‘));

});

1.3、options:  类型(可选):Object,有3个属性buffer、read、base;

options.buffer:  类型:Boolean  默认:true 设置为false,将返回file.content的流并且不缓冲文件,处理大文件时非常有用;

options.read:  类型:Boolean  默认:true 设置false,将不执行读取文件操作,返回null;

options.base:  类型:String  设置输出路径以某个路径的某个组成部分为基础向后拼接,具体看下面示例:

JavaScript

1

2

3

4

5

6

7

gulp.src(‘client/js/**/*.js‘)

.pipe(minify())

.pipe(gulp.dest(‘build‘));  // Writes ‘build/somedir/somefile.js‘

gulp.src(‘client/js/**/*.js‘, { base: ‘client‘ })

.pipe(minify())

.pipe(gulp.dest(‘build‘));  // Writes ‘build/js/somedir/somefile.js‘

2、gulp.dest(path[, options])

2.1、说明:dest方法是指定处理完后文件输出的路径;

JavaScript

1

2

3

4

5

gulp.src(‘./client/templates/*.jade‘)

.pipe(jade())

.pipe(gulp.dest(‘./build/templates‘))

.pipe(minify())

.pipe(gulp.dest(‘./build/minified_templates‘));

2.2、path:  类型(必填):String or Function 指定文件输出路径,或者定义函数返回文件输出路径亦可;

2.3、options:  类型(可选):Object,有2个属性cwd、mode;

options.cwd:  类型:String  默认:process.cwd():前脚本的工作目录的路径 当文件输出路径为相对路径将会用到;

options.mode:  类型:String  默认:0777 指定被创建文件夹的权限;

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

3.1、说明:task定义一个gulp任务;

3.2、name:  类型(必填):String 指定任务的名称(不应该有空格);

3.3、deps:  类型(可选):StringArray,该任务依赖的任务(注意:被依赖的任务需要返回当前任务的事件流,请参看下面示例);

JavaScript

1

2

3

4

5

6

7

8

9

10

11

gulp.task(‘testLess‘, function () {

return gulp.src([‘less/style.less‘])

.pipe(less())

.pipe(gulp.dest(‘./css‘));

});

gulp.task(‘minicss‘, [‘testLess‘], function () { //执行完testLess任务后再执行minicss任务

gulp.src([‘css/*.css‘])

.pipe(minifyCss())

.pipe(gulp.dest(‘./dist/css‘));

});

3.4、fn:  类型(必填):Function 该任务调用的插件操作;

4、gulp.watch(glob [, opts], tasks) or gulp.watch(glob [, opts, cb])

4.1、说明:watch方法是用于监听文件变化,文件一修改就会执行指定的任务;

4.2、glob:  需要处理的源文件匹配符路径。类型(必填):String or StringArray;

4.3、opts:  类型(可选):Object 具体参看https://github.com/shama/gaze

4.4、tasks:  类型(必填):StringArray 需要执行的任务的名称数组;

4.5、cb(event):  类型(可选):Function 每个文件变化执行的回调函数;

JavaScript

1

2

3

4

5

6

7

8

9

gulp.task(‘watch1‘, function () {

gulp.watch(‘less/**/*.less‘, [‘testLess‘]);

});

gulp.task(‘watch2‘, function () {

gulp.watch(‘js/**/*.js‘, function (event) {

console.log(‘File ‘ + event.path + ‘ was ‘ + event.type + ‘, running tasks...‘);

});

});

5、结束语

5.1、本文有任何错误,或有任何疑问,欢迎留言说明。

时间: 2024-12-06 21:09:44

gulp教程之gulp中文API的相关文章

gulp教程之gulp-less

gulp教程之gulp-less Ooo_My_God发表于2015-02-24 分类:构建工具 阅读(4518) 评论(19) 简介: 使用gulp-less插件将less文件编译成css,当有less文件发生改变自动编译less,并保证less语法错误或出现异常时能正常工作并提示错误信息. 1.安装nodejs/全局安装gulp/项目安装gulp/创建package.json和gulpfile.js文件 1.1.gulp基本使用还未掌握?请参看: gulp详细入门教程 1.2.本示例目录结构

gulp教程之gulp-minify-css

简介: 使用gulp-minify-css压缩css文件,减小文件大小,并给引用url添加版本号避免缓存. 1.安装nodejs/全局安装gulp/本地安装gulp/创建package.json和gulpfile.js文件 1.1.gulp基本使用还未掌握?请参看: gulp详细入门教程 1.2.本示例目录结构如下: 2.本地安装gulp-minify-css 2.1.github:https://github.com/jonathanepollack/gulp-minify-css 2.2.安

Gulp教程之:Gulp能做什么,前端装逼为何要用它

我们先说说 平时web开发遇到的一些场景 和 苦恼无奈的情况: JavaScript和CSS的版本问题 我们都知道 JavaScript和CSS属于静态文件,如果地址不变,浏览器会缓存这些文件,那就意味着当我们需要改JavaScript或者CSS文件的时候,即使我们后端改了,那么客户端也是看不到,这个在"JS一统天下"的时代是不可接受的,因为现在几乎所有的WEB 程序都严重依赖JavaScript,而所有的网站都是需要使用CSS的.在我经历过的项目即使是很多年经验的程序员都出现过Jav

gulp配置版本号 教程之gulp-rev-append

简介: 使用gulp-rev-append给页面的引用添加版本号,清除页面引用缓存. 1.安装nodejs/全局安装gulp/项目安装gulp/创建package.json和gulpfile.js文件 1.1.gulp基本使用还未掌握?请参看: gulp详细入门教程 1.2.本示例目录结构如下: 2.本地安装gulp-rev-append 2.1.github:https://github.com/bustardcelly/gulp-rev-append 2.2.安装:命令提示符执行 cnpm

iOS系列教程之TextKit实现图文混排读后记

iOS系列教程之TextKit实现图文混排读后记 前两天看搜狐家明哥写的<TextKit实现图文混排> 今晚回家看了下API发现了一个更加取巧的实现方式.可以直接将后台返回的html富文本用textView显示出来. 记得两年前当时做这个的时候还是借助了笨重的webview. > Textkit是iOS7新推出的类库,其实是在之前推出的CoreText上的封装,有了这个TextKit,以后不用再拿着CoreText来做累活了, 下面是我分别用UITextView 和UIWebView 显

ArduinoYun教程之Arduino环境与Linux环境的桥梁Bridge

ArduinoYun教程之Arduino环境与Linux环境的桥梁Bridge Arduino环境与Linux环境的桥梁--Bridge 在第一章中介绍Arduino Yun硬件的时候提到过,它上面有两个处理器ATmega32U4和Atheros 9331.20个IO口和Micro USB口是连接在ATmega32U4上的,而WiFi.Ethernet.SD卡槽和USB口是连接在Atheros上的.如果这两个处理器只能独立工作,那么把他们集成到Yun中也就没有意义了.所以,ATmega32U4和

ios系类教程之用instruments来检验你的app

ios系类教程之用instruments来检验你的app 为了节省大家的时间,提供一个演示的Demo给大家.代码传送门.下载后解压然后用xcode打开.编译运行APP后 然后在搜索框内输入任意词汇,点击结果你会看到下面的结果 正如你所见的,这个app很简单.程序其实调用的是Flickr的API,通过app顶部的搜索框执行搜索后在下面的tableview显示你搜索的搜索词,搜索词后面的括号内有搜索结果的个数,点击此行进入一个略所图的结果列表页面 如上图. 点击其中一行 进入图像的大图模式,在这个页

真正菜鸟用教程之WQSG Scrip Export WQSG (脚本导出导入工具,PSP、NDS汉化必备 )

先扫盲WQSG是干什么用的 一些掌机类游戏汉化比方PSP NDS 汉化必备之物 它能够依据字典转换文本 假设你不知道这是啥玩意,快去充电染成茜色的坂道 文本提取(导出)方法 (下文称导出文章) 在导出文章,我们谈到了用 使用日文编码 比方 8175=「 8F9F=勝 82BF=ち 93A6=逃 ....... 导出文本: 「勝ち逃げするつもりか!」 那么 8175=「 8F9F=勝 82BF=ち 93A6=逃 就是码表,相当于字典 软件就是依据码表转换文本 大师使用的WQSG 版本号为2007.

BIOS设置图解教程之Award篇

(目前主板上常见的BIOS主要为AMI与AWARD两个系列,如何辨别BIOS品牌系列请移步,本文详细讲解Award系列的BIOS设置图解教程,如果你的BIOS为AMI系列请移步 BIOS设置图解教程之AMI篇,文中重要的部分已经标红,快速阅读请配合图片查阅红色加速字体即可)介绍了AMI Bios设置后.我们再来介绍一下Award的Bios设置,其实Award Bios和AMI Bios里面有很多东西是相同的,可以说基本上是一样的,虽然有些名字叫法不同,但是实际作用是一样的.在前文中已经了解了一些