我正在努力构建我的框架,使其更加健壮和可重用。
/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,就会得到响应:
[08:17:44] ├── assets
[08:17:44] ├── build
[08:17:44] └─┬ default
[08:17:44] └── buildBuild使用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).我试过使用use gulp,但这只会产生更多的错误。
有什么想法吗?
发布于 2016-05-23 02:43:25
后来我发现模块run-sequence告诉我我需要做什么,尽管我没有意识到这是run-sequence模块特有的。
无论我在哪个子模块中使用run-sequence,我都需要执行以下操作:
module.exports = function(gulp, config) {
var runSequence = require('run-sequence').use(gulp);
}来自运行顺序
在gulp子模块中使用的
如果您的任务被划分为不同的文件,那么您可能会遇到运行顺序无法找到任务的错误。在本例中,您可以将运行序列配置为查看子模块中的gulp,如下所示:
// 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');https://stackoverflow.com/questions/37380286
复制相似问题