#
概念以下概念是理解 API 文档的先决条件。它们将在整个文档中被引用,详细解释请参考本页。
如果您是新手,请从入门指南开始。
#
VinylVinyl 是描述文件的元数据对象。Vinyl 实例的主要属性是 path
和 contents
- 文件系统中文件的核心部分。Vinyl 对象可用于描述来自许多来源的文件 - 在本地文件系统或任何远程存储选项上。
#
Vinyl 适配器虽然 Vinyl 提供了描述文件的方法,但需要一种访问这些文件的方式。每个文件源都是使用 Vinyl 适配器访问的。
适配器公开
- 一个带有签名
src(globs, [options])
的方法,并返回生成 Vinyl 对象的流。 - 一个带有签名
dest(folder, [options])
的方法,并返回消耗 Vinyl 对象的流。 - 任何特定于其输入/输出介质的额外方法 - 例如
symlink
方法vinyl-fs
提供的。它们应始终返回生成和/或消耗 Vinyl 对象的流。
#
任务每个gulp任务都是一个异步JavaScript函数,它要么接受一个错误优先的回调,要么返回一个流、Promise、事件发射器、子进程或可观察对象。由于某些平台限制,不支持同步任务。
有关更详细的解释,请参阅创建任务。
#
通配符(Globs)通配符是一串由文字和/或通配符字符组成的字符串,比如*
、**
或!
,用于匹配文件路径。通配是使用一个或多个通配符在文件系统上定位文件的行为。
如果您对通配符不熟悉,请参阅解释通配符。
#
通配符基础(Glob base)通配符基础 - 有时称为通配符父级 - 是通配符字符串中任何特殊字符之前的路径段。因此,/src/js/**.js
的通配符基础是/src/js/
。所有匹配通配符的路径都保证共享通配符基础 - 该路径段不能是可变的。
src()
生成的Vinyl实例的base
属性设置为其通配符基础。在使用dest()
写入文件系统时,base
将从输出路径中移除,以保留目录结构。
有关更详细的信息,请参阅glob-parent存储库。
#
文件系统统计信息文件元数据作为Node的fs.Stats
实例提供。它作为您的Vinyl实例上的stat
属性可用,并在内部用于确定Vinyl对象是否表示目录或符号链接。写入文件系统时,权限和时间值将从Vinyl对象的stat
属性同步。
#
文件系统模式文件系统模式确定文件的权限。您的文件系统上的大多数文件和目录都具有相当宽松的模式,允许gulp代表您读取/写入/更新文件。默认情况下,gulp将以与运行进程相同的权限创建文件,但您可以通过src()
、dest()
等选项配置模式。如果遇到权限(EPERM)问题,请检查文件的模式。
#
模块Gulp由许多小模块组成,这些模块被整合在一起以协同工作。通过在这些小模块中利用semver,我们可以发布错误修复和功能,而无需发布新版本的gulp。通常,当您在主存储库上看不到进展时,工作是在这些模块之一中进行的。
如果遇到问题,请确保使用npm update
命令更新当前模块。如果问题仍然存在,请在各个项目存储库上开启一个问题。
- undertaker - 任务注册系统
- vinyl - 虚拟文件对象
- vinyl-fs - 适配器将vinyl适配到您的本地文件系统
- glob-watcher - 文件监视器
- bach - 使用
series()
和parallel()
进行任务编排 - last-run - 跟踪任务的最后运行时间
- vinyl-sourcemap - 内置的sourcemap支持
- gulp-cli - 用于与gulp交互的命令行界面