src()#
创建一个流,用于从文件系统读取 Vinyl 对象。
注意:BOM(字节顺序标记)在 UTF-8 中没有用途,并且将从 src() 读取的 UTF-8 文件中删除,除非使用 removeBOM 选项禁用。
用法#
签名#
参数#
| 参数 | 类型 | 注释 |
|---|---|---|
| globs | 字符串 数组 | Globs 在文件系统上监视。 |
| options | 对象 | 在下面的 选项 中详细说明。 |
返回#
一个流,可以在管道开始或中间使用,以根据给定的 glob 添加文件。
错误#
当 globs 参数只能匹配一个文件(例如 foo/bar.js)且找不到匹配项时,抛出带有消息的错误,“未找到具有单数 glob 的文件”。要禁止此错误,请将 allowEmpty 选项设置为 true。
当在 globs 中给出了无效的 glob 时,抛出带有消息的错误,“无效的 glob 参数”。
选项#
对于接受函数的选项,将使用每个 Vinyl 对象调用传递的函数,并且必须返回另一个列出类型的值。
| 名称 | 类型 | 默认值 | 注释 |
|---|---|---|---|
| 缓冲区 | 布尔值 函数 | true | 当为 true 时,文件内容将缓冲到内存中。如果为 false,则 Vinyl 对象的 contents 属性将是一个暂停的流。可能无法缓冲大文件的内容。注意:插件可能未实现对流式内容的支持。 |
| 读取 | 布尔值 函数 | true | 如果为 false,则不会读取文件,并且它们的 Vinyl 对象将无法通过 .dest() 写入磁盘。 |
| 自 | 日期 时间戳 函数 | 设置后,仅为自指定时间以来修改的文件创建 Vinyl 对象。 | |
| removeBOM | 布尔值 函数 | true | 当为 true 时,从 UTF-8 编码的文件中删除 BOM。如果为 false,则忽略 BOM。 |
| sourcemaps | 布尔值 函数 | false | 如果为 true,则启用在创建的 Vinyl 对象上启用 sourcemaps 支持。加载内联 sourcemaps 并解析外部 sourcemap 链接。 |
| resolveSymlinks | 布尔值 函数 | true | 当为 true 时,递归解析符号链接到其目标。如果为 false,则保留符号链接并将 Vinyl 对象的 symlink 属性设置为原始文件的路径。 |
| cwd | 字符串 | process.cwd() | 将与任何相对路径组合以形成绝对路径的目录。对于绝对路径,将忽略此项。用于避免将 globs 与 path.join() 结合使用。此选项直接传递给 glob-stream。 |
| base | 字符串 | 显式设置创建的 Vinyl 对象上的 base 属性。在 API 概念 中详细说明。此选项直接传递给 glob-stream。 | |
| cwdbase | 布尔值 | false | 如果为真,cwd 和 base 选项应对齐。此选项直接传递给 glob-stream。 |
| root | 字符串 | globs 相对于其解析的根路径。此选项直接传递给 glob-stream。 | |
| allowEmpty | 布尔值 | false | 如果为假,则只能匹配一个文件(例如 foo/bar.js)的 globs 在找不到匹配项时会引发错误。如果为真,则抑制 glob 失败。此选项直接传递给 glob-stream。 |
| uniqueBy | 字符串 函数 | 'path' | 通过比较字符串属性名称或函数的结果,从流中删除重复项。 注意:使用函数时,该函数会接收流式传输数据(包含 cwd、base、path 属性的对象)。 |
| dot | 布尔值 | false | 如果为真,则针对点文件(如 .gitignore)比较 glob。此选项直接传递给 node-glob。 |
| silent | 布尔值 | true | 如果为真,则抑制在 stderr 上打印的警告。注意:此选项直接传递给 node-glob,但默认为 true,而不是 false。 |
| mark | 布尔值 | false | 如果为真,则会将 / 字符追加到目录匹配项。通常不需要,因为路径在管道中已标准化。此选项直接传递给 node-glob。 |
| nosort | 布尔值 | false | 如果为真,则禁用对 glob 结果进行排序。 此选项直接传递给 node-glob。 |
| stat | 布尔值 | false | 如果为真,则对所有结果调用 fs.stat()。这会增加额外的开销,通常不应使用。此选项直接传递给 node-glob。 |
| strict | 布尔值 | false | 如果为真,则在尝试读取目录时遇到意外问题时会引发错误。 此选项直接传递给 node-glob。 |
| nounique | 布尔值 | false | 如果为假,则防止结果集中出现重复文件。 此选项直接传递给 node-glob。 |
| debug | 布尔值 | false | 如果为真,则调试信息将记录到命令行。 此选项直接传递给 node-glob。 |
| nobrace | 布尔值 | false | 如果为真,则避免扩展大括号集 - 例如 {a,b} 或 {1..3}。此选项直接传递给 node-glob。 |
| noglobstar | 布尔值 | false | 如果为真,则将双星 glob 字符视为单星 glob 字符。 此选项直接传递给 node-glob。 |
| noext | 布尔值 | false | 如果为真,则避免匹配 extglob 模式 - 例如 +(ab)。此选项直接传递给 node-glob。 |
| nocase | 布尔值 | false | 如果为真,则执行不区分大小写的匹配。 注意:在不区分大小写的文件系统上,非魔术模式将默认匹配。 此选项直接传递给 node-glob。 |
| matchBase | 布尔值 | false | 如果为真且 glob 不包含任何 / 字符,则遍历所有目录并匹配该 glob - 例如 *.js 将被视为等效于 **/*.js。此选项直接传递给 node-glob。 |
| nodir | 布尔值 | false | 如果为真,则仅匹配文件,不匹配目录。 注意:要仅匹配目录,请以 / 结尾。此选项直接传递给 node-glob。 |
| ignore | 字符串 数组 | 从匹配项中排除的 glob。此选项与否定 globs 结合使用。注意:无论其他任何设置如何,这些 glob 始终与点文件匹配。 此选项直接传递给 node-glob。 | |
| follow | 布尔值 | false | 如果为真,则在扩展 ** glob 时将遍历符号链接的目录。注意:这可能会导致循环链接出现问题。 此选项直接传递给 node-glob。 |
| realpath | 布尔值 | false | 如果为真,则对所有结果调用 fs.realpath()。这可能会导致出现悬空链接。此选项直接传递给 node-glob。 |
| cache | 对象 | 先前生成的缓存对象 - 避免某些文件系统调用。 此选项直接传递给 node-glob。 | |
| statCache | 对象 | 先前生成的fs.Stat结果的缓存 - 避免某些文件系统调用。此选项直接传递给 node-glob。 | |
| symlinks | 对象 | 先前生成的符号链接的缓存 - 避免某些文件系统调用。 此选项直接传递给 node-glob。 | |
| nocomment | 布尔值 | false | 为 false 时,将 glob 开头的#字符视为注释。此选项直接传递给 node-glob。 |
Sourcemaps#
Sourcemap 支持直接内置到src()和dest()中,但默认情况下处于禁用状态。启用它以生成内联或外部 sourcemap。
内联 sourcemap
外部源映射