任务似乎已注册,但无法运行?
我正在试图构build我的框架,以便它更健壮,可重用。
/gulp-framework tasks/ _assets.js index.js package.json node_modules/ /project-a gulpfile.js configuration.js
在index.js
我使用require(./tasks/_assets.js)(gulp, config)
;
我有一个控制台日志里面_assets.js
,我可以看到,在输出中,如果我运行gulp -TI获取响应:
[08:17:44] ├── assets [08:17:44] ├── build [08:17:44] └─┬ default [08:17:44] └── build
构build只需使用run-sequence()
运行资产。 显然这个任务是在这里注册的,但是如果我在cmd中运行gulp
,我会得到:
Starting 'build'... [08:18:19] 'build' errored after 1.76 ms [08:18:19] Error: Task assets is not configured as a task on gulp. If this is a submodule, you may need to use require('run-sequence').use(gulp).
我尝试使用使用吞咽,但只是创造更多的错误。
有任何想法吗?
我发现模块run-sequence
告诉我我需要做什么,但我没有意识到这是特定于run-sequence
模块。
无论我在一个子模块中使用run-sequence
,我需要执行以下操作:
module.exports = function(gulp, config) { var runSequence = require('run-sequence').use(gulp); }
从运行序列 :
在gulp子模块内使用
如果你有一个复杂的吞吐设置,并且你的任务分散在不同的文件中,你可能会得到run-sequence无法find你的任务的错误。 在这种情况下,您可以configurationrun-sequence来查看子模块中的吞吐量,如下所示:
// submodule tasks/mygulptask.js var gulp = require('gulp'), // might be a different instance than the toplevel one // this uses the gulp you provide runSequence = require('run-sequence').use(gulp); // ...and then use normally runSequence('subtask1', 'subtask2');