首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >任务似乎已注册,但无法运行?

任务似乎已注册,但无法运行?
EN

Stack Overflow用户
提问于 2016-05-22 22:24:34
回答 1查看 177关注 0票数 1

我正在努力构建我的框架,使其更加健壮和可重用。

代码语言:javascript
复制
/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,就会得到响应:

代码语言:javascript
复制
[08:17:44] ├── assets
[08:17:44] ├── build
[08:17:44] └─┬ default
[08:17:44]   └── build

Build使用run-sequence()简单地运行资产。显然,任务是在这里注册的,但是,如果我只是在cmd中运行gulp,则得到:

代码语言:javascript
复制
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).

我试过使用use gulp,但这只会产生更多的错误。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-23 02:43:25

后来我发现模块run-sequence告诉我我需要做什么,尽管我没有意识到这是run-sequence模块特有的。

无论我在哪个子模块中使用run-sequence,我都需要执行以下操作:

代码语言:javascript
复制
module.exports = function(gulp, config) {
    var runSequence = require('run-sequence').use(gulp);
}

来自运行顺序

在gulp子模块中使用的

如果您的任务被划分为不同的文件,那么您可能会遇到运行顺序无法找到任务的错误。在本例中,您可以将运行序列配置为查看子模块中的gulp,如下所示:

代码语言:javascript
复制
// 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');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37380286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档