如何在 gulp 中获取可用任务列表
Posted
技术标签:
【中文标题】如何在 gulp 中获取可用任务列表【英文标题】:How to get the available tasks list in gulp 【发布时间】:2015-08-26 22:14:31 【问题描述】:嗨,以前我使用grunt
,因为我想知道可用的任务使用grunt --help
。但与gulp
相同,使用gulp --help
它不会显示。知道gulp中可用任务列表的命令是什么
【问题讨论】:
【参考方案1】:没有执行此操作的本机命令,但我使用 this plugin 和以下代码:
module.exports.help = require('gulp-help')(gulp, description : false);
然后我可以在控制台中运行默认的gulp
任务,它会显示任务和定义列表。
【讨论】:
谢谢。有没有办法在不使用`gulp-help`的情况下进入控制台 不是我遇到过的,我想如果你回到原生使用 nodeJS 会有一种方法,但这听起来过于复杂。如果您找到答案,请发布。 使用gulp --tasks
【参考方案2】:
是的,我得到它使用gulp --tasks
in 命令然后它显示任务列表。
【讨论】:
ihhh我看到的,那不是3.9.0只带来了4.0,漂亮的信息 span> @MatthewRath3.9.x
也有 --tasks
标志。所以它可以工作(至少在我本地的 3.9.1 上)
gulp --tasks-simple
可能更好,因为它只显示***任务,一个非常干净的列表,而 gulp --tasks
还显示任务依赖关系图——我想这完全取决于你有多少细节想要。
这将任务深度限制在顶层并显示描述:gulp -T --depth 1
【参考方案3】:
你也可以使用这个插件gulp-task-listing。它给出了main-tasks
和sub-tasks list
【讨论】:
我无法在 Gulp 3.9 中使用它。不断收到此错误:*TypeError:* 无法将 undefined 或 null 转换为对象。 因为gulp.tasks
为 null。
yah @VinegarStrokes 我对 Gulp 4 也有同样的问题。你解决了吗?【参考方案4】:
作为替代方案,您可以使用 gulp-task-doc 在 js cmets 中为您的任务编写详细文档
【讨论】:
【参考方案5】:另一种可能性是使用gulp-help-doc 模块,它提供了在gulpfile 中基于类似jsDoc 的cmets 打印使用信息的可能性。目前它也支持 TypeScript。好处是您只需在不更改 gulp API 的情况下评论您的代码,并且您在命令行中也有使用信息。
【讨论】:
【参考方案6】:gulp --tasks-simple
此命令打印任务的明文列表。我的本地项目:
~ gulp --tasks-simple
clean
default
来自gulp CLI documentation:
~ gulp --version
[03:00:05] CLI version 1.2.1
[03:00:05] Local version 4.0.0-alpha.2
~ gulp --help | grep 'tasks-simple'
--tasks-simple Print a plaintext list of tasks for the loaded gulpfile. [boolean]
【讨论】:
【参考方案7】:如果您使用 Gulp 4,您可以执行以下操作:
const tasks = gulp.registry().tasks();
// Outputs a JS object: <task name>: <function>, ...
console.log(tasks);
const taskNames = Object.Keys(tasks);
// Outputs a JS array: ['<task name>', ...]
console.log(taskNames);
【讨论】:
【参考方案8】:灵感来自@matt-gaunt https://***.com/a/65571474/1347601
// gulp task
const list = () =>
const tasks = gulp.registry().tasks();
for (const [key, value] of Object.entries(tasks))
console.log(key);
gulp.task('list', list);
// gulp process default
gulp.task('list', gulp.series(
list
));
【讨论】:
以上是关于如何在 gulp 中获取可用任务列表的主要内容,如果未能解决你的问题,请参考以下文章
如何获取系统上可用的所有 Microsoft 媒体基础转换 (MFT) 的列表