#
JavaScript 和 GulpfilesGulp 允许您使用现有的 JavaScript 知识编写 gulpfiles,或者使用您对 gulpfiles 的经验编写纯 JavaScript。尽管提供了一些实用程序来简化与文件系统和命令行的交互,但您编写的其他所有内容都是纯 JavaScript。
#
解释 Gulpfilegulpfile 是项目目录中的一个名为 gulpfile.js
(或大写为 Gulpfile.js
,如 Makefile)的文件,当您运行 gulp
命令时会自动加载。在此文件中,您经常会看到 gulp 的 API,如 src()
、dest()
、series()
或 parallel()
,但也可以使用任何原生 JavaScript 或 Node 模块。任何导出的函数都将注册到 gulp 的任务系统中。
#
转译您可以使用需要转译的语言(如 TypeScript 或 Babel)编写 gulpfile,方法是更改 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
文件。然后,该目录可以包含用于任务的各个模块。如果您使用转译器,请相应地命名文件夹和文件。