根据https://gulpjs.com/docs/en/api/task,创建任务的新方法不是gulp.task("xyz" ...)
,而是使用exports.build = build;
。这种方法的问题是,我不能再使用feature:build
、feature:watch
等旧任务名称,因为我只能导出有效的JS标识符。
新方法有没有办法做到这一点?
根据https://gulpjs.com/docs/en/api/task,创建任务的新方法不是gulp.task("xyz" ...)
,而是使用exports.build = build;
。这种方法的问题是,我不能再使用feature:build
、feature:watch
等旧任务名称,因为我只能导出有效的JS标识符。
新方法有没有办法做到这一点?
4条答案
按热度按时间nimxete21#
这是一个非常基本的问题,例如,使用语法
exports[taskName] = taskFunction;
你可能想在这里阅读更多:https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Basics#Bracket_notation
e3bfsja22#
偶然发现了答案。
每个
TaskFunction
都有一个属性displayName
,这个属性不仅改变了任务列表中显示任务的名称,也改变了任务运行时的名称,而且还改变了需要传递给gulp以运行它的任务名称。所以它可能是这样的:
sd2nnvve3#
好消息是:从ECMAScript 2022开始,可以使用字符串文本为导出设置别名:
参见第16.2.3节,其中定义了导出语法,您将看到
ModuleExportName
可能是字符串文字。坏消息是:我找不到任何已经实现这一点的软件。
fcwjkofz4#
我发现的最简单的方法就是将函数添加到
exports
中,然后通过终端执行它。在
gulpfile.js
:在终端中:
希望有帮助。