跳到主要内容

CLI

gulp CLI 文档

参数标志

gulp 只有很少几个需要了解的标志参数。所有其他标志都是供任务在需要时使用的。

  • -v--version 将显示全局和本地的 gulp 版本
  • --require <模块路径> 在运行 gulpfile 之前将会require一个模块。这对于转译器(transpilers)很有用,但也有其他应用。你可以使用多个 --require 标志
  • --gulpfile <gulpfile 路径> 将手动设置 gulpfile 的路径。如果你有多个 gulpfile,这很有用。这也会将 CWD 设置为 gulpfile 目录
  • --cwd <目录路径> 将手动设置 CWD(当前工作目录)。gulpfile 的搜索以及所有 requires 的相对路径都将从这里开始
  • -T--tasks 将显示所加载的 gulpfile 的任务依赖树。它将包括任务名称和它们的描述。
  • --tasks-simple 将显示所加载的 gulpfile 的任务的纯文本列表
  • --verify 将验证项目 package.json 中引用的插件是否在插件黑名单中
  • --color 将强制 gulp 和 gulp 插件显示颜色,即使没有检测到颜色支持
  • --no-color 将强制 gulp 和 gulp 插件不显示颜色,即使检测到颜色支持
  • --silent 将禁用所有 gulp 日志输出

CLI 添加了 process.env.INIT_CWD,这是它最初启动的工作目录。

任务特定标志

参考这个 StackOverflow 链接,了解如何添加任务特定的标志

任务

可以通过运行 gulp <任务> <任务>... 来执行任务。

如果列出了多个任务,Gulp 将同时执行所有这些任务,就好像它们都被列为单个任务的依赖项一样。

Gulp 不会序列化命令行上列出的任务。使用过其他类似工具的用户可能会期望执行像 gulp clean build 这样的命令,其中包含名为 cleanbuild 的任务。这不会产生预期的结果,因为这两个任务将同时执行。

仅运行 gulp 将执行 default 任务。如果没有 default 任务,gulp 将报错。

编译器

你可以在 interpret 找到支持的语言列表。如果你想添加对新语言的支持,请在那里发送拉取请求/开启问题。

示例

示例 gulpfile

gulp.task('one', function(done) {
// 做些事情
done();
});

gulp.task('two', function(done) {
// 做些事情
done();
});

gulp.task('three', three);

function three(done) {
done();
}
three.description = "这是任务 three 的描述";

gulp.task('four', gulp.series('one', 'two'));

gulp.task('five',
gulp.series('four',
gulp.parallel('three', function(done) {
// 做更多事情
done();
})
)
);

-T--tasks

命令:gulp -Tgulp --tasks

输出:

[20:58:55] Tasks for ~\exampleProject\gulpfile.js
[20:58:55] ├── one
[20:58:55] ├── two
[20:58:55] ├── three 这是任务 three 的描述
[20:58:55] ├─┬ four
[20:58:55] │ └─┬ <series>
[20:58:55] │ ├── one
[20:58:55] │ └── two
[20:58:55] ├─┬ five
[20:58:55] │ └─┬ <series>
[20:58:55] │ ├─┬ four
[20:58:55] │ │ └─┬ <series>
[20:58:55] │ │ ├── one
[20:58:55] │ │ └── two
[20:58:55] │ └─┬ <parallel>
[20:58:55] │ ├── three
[20:58:55] │ └── <anonymous>

--tasks-simple

命令:gulp --tasks-simple

输出:

one
two
three
four
five