gulp.src html用法,gulp.src

gulp.src

输出(Emits)符合所提供的匹配模式(glob)或者匹配模式的数组(array of globs)的文件。 将返回一个 Vinyl files 的 stream 它可以被 piped 到别的插件中。

用法

gulp.src(globs[, options])gulp.src('client/templates/*.jade')

.pipe(jade())

.pipe(minify())

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

参数

globs

描述:所要读取的 glob 或者包含 globs 的数组。

类型: String 或 Array

glob 请参考 node-glob 语法 或者,你也可以直接写文件的路径。

options

描述:通过 glob-stream 所传递给 node-glob 的参数。

类型: Object

除了 node-glob 和 glob-stream所支持的参数外,gulp 增加了一些额外的选项参数:

options.buffer

描述:是否返回buffer,或者说是返回buffer(true)还是返回file_contents(false)。

类型: Boolean

默认值: true

如果该项被设置为 false,那么将会以 stream 方式返回 file.contents 而不是文件 buffer 的形式。这在处理一些大文件的时候将会很有用。注意:插件可能并不会实现对 stream 的支持。

options.read

描述:是否去读取文件的内容。

类型: Boolean

默认值: true

如果该项被设置为 false, 那么 file.contents 会返回空值(null),也就是并不会去读取文件。

options.base

描述:重新指定src的base,不好理解,具体看下面的解释。

类型: String

默认值: 将会加在 glob 之前 (请看 glob2base)

请想像一下在一个路径为 client/js/somedir 的目录中,有两个文件:1.js,2.js ,现在我们这样:

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

上面匹配的结果是什么呢?会得到两个文件的路径和内容,路径是client/js/somedir/1.js和client/js/somedir/2.js,但对于gulp而言,这个时候的base是clien/js/,也就是glob开始匹配之前的字符串。

如果不规定options.base,那么在后面的pipe中,就会以options.base='client/js/'进行处理,比如我们在末尾执行.pipe(gulp.dest('dist/name/')),那么会得到两个文件:dist/name/somedir/1.js和dist/name/somedir/2.js。

但是有的时候我们想要的是dist/name/js/somedir/1.js,而不是上面的文件路径。这个时候options.base就可以派上用场。

gulp.src('client/js/**/*.js',{

base: 'client'

})

.pipe(gulp.dest('dist/name'))

这样就可以得到想要的结果。

它这里面就有一个相对路径的感觉,比如它找到了client/js/somedir/1.js,但是你设置了base字段为client,所以它就会把client这个目录层级从client/js/somedir/1.js中移除,剩下的部分就是js/somedir/1.js,把这个部分放到dest规定的目录中去。

这就是gulp.src,赶紧动手去自己试试吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值