当前位置: 首页 > 文档资料 > GulpJS 中文文档 >

src()

优质
小牛编辑
129浏览
2023-12-01

创建一个流,用于从文件系统读取 Vinyl 对象。

注:BOMs(字节顺序标记)在 UTF-8 中没有任何作用,除非使用 removeBOM 选项禁用,否则 src() 将从读取的 UTF-8 文件中删除BOMs。

用法

const { src, dest } = require('gulp');

function copy() {
  return src('input/*.js')
    .pipe(dest('output/'));
}

exports.copy = copy;

函数原型

src(globs, [options])

参数

参数类型描述
globsstring
array
Globs to watch on the file system.
optionsobject在下面的返回值

返回一个可以在管道的开始或中间使用的流,用于根据给定的 globs 添加文件。

可能出现的错误

globs 参数只能匹配一个文件(如 foo/bar.js)而且没有找到匹配时,会抛出一个错误,提示 "File not found with singular glob"。若要抑制此错误,请将 allowEmpty 选项设置为 true

当在 globs 中给出一个无效的 glob 时,抛出一个错误,并显示 "Invalid glob argument"。

选项

对于接受函数的选项,传递的函数将与每个 Vinyl 对象一起调用,并且必须返回另一个列出类型的值。

名称类型默认值描述
bufferboolean
function
true当为 true 时,文件内容被缓冲到内存中。如果为false,Vinyl 对象的 contents 属性将是一个暂停流。可能无法缓冲大文件的内容。
注意:插件可能不支持流媒体内容。
readboolean
function
true如果为 false,文件将不会被读取,并且它们的 Vinyl 对象将不能通过 .dest() 写入磁盘。
sincedate
timestamp
function
设置时,仅为自指定时间以来修改过的文件创建 Vinyl 对象。
removeBOMboolean
function
true如果为 true,则从 UTF-8 编码的文件中删除 BOM。如果为 false,则忽略 BOM。
sourcemapsboolean
function
false如果为 true,则在创建的 Vinyl 对象上启用 资源映射

资源映射支持直接构建到 src()dest() 中,但是默认情况下是禁用的。使其能够生成内联或外部资源映射。

内联资源映射:

const { src, dest } = require('gulp');
const uglify = require('gulp-uglify');

src('input/**/*.js', { sourcemaps: true })
  .pipe(uglify())
  .pipe(dest('output/', { sourcemaps: true }));

外部资源映射:

const { src, dest } = require('gulp');
const uglify = require('gulp-uglify');

src('input/**/*.js', { sourcemaps: true })
  .pipe(uglify())
  .pipe(dest('output/', { sourcemaps: '.' }));