JavaScript 和 Gulpfiles
Gulp 允许你使用现有的 JavaScript 知识编写 gulpfile,或者使用你的 gulpfile 经验编写普通的 JavaScript。虽然提供了一些实用工具来简化文件系统和命令行操作,但你编写的其他所有内容都是纯 JavaScript。
Gulpfile 解释
gulpfile 是项目目录中名为 gulpfile.js
的文件(或大写为 Gulpfile.js
,类似于 Makefile),当你运行 gulp
命令时会自动加载。在这个文件中,你会经常看到 gulp API,如 src()
、dest()
、series()
或 parallel()
,但可以使用任何原生 JavaScript 或 Node 模块。所有导出的函数都会被注册到 gulp 的任务系统中。
转译
你可以使用需要转译的语言编写 gulpfile,比如 TypeScript 或 Babel,方法是将 gulpfile.js
的扩展名更改为指示该语言,并安装匹配的转译器模块。
- 对于 TypeScript,重命名为
gulpfile.ts
并安装 ts-node 模块。 - 对于 Babel,重命名为
gulpfile.babel.js
并安装 @babel/register 模块。
大多数新版本的 node 支持 TypeScript 或 Babel 提供的大部分功能,除了 import
/export
语法。当只需要该语法时,重命名为 gulpfile.esm.js
并安装 esm 模块。
要深入了解这个主题和支持的扩展名完整列表,请参阅我们的 gulpfile 转译 文档。
拆分 gulpfile
许多用户开始时会将所有逻辑添加到一个 gulpfile 中。如果它变得太大,可以重构为单独的文件。
每个任务都可以拆分到自己的文件中,然后导入到你的 gulpfile 中进行组合。这不仅使组织井然有序,还允许你独立测试每个任务或根据条件变化组合方式。
Node 的模块解析允许你将 gulpfile.js
文件替换为名为 gulpfile.js
的目录,其中包含一个被视为 gulpfile.js
的 index.js
文件。该目录可以包含任务的各个模块。如果你使用转译器,请相应地命名文件夹和文件。