首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >吞咽4系列并行多个SPA任务组合

吞咽4系列并行多个SPA任务组合
EN

Stack Overflow用户
提问于 2016-08-23 00:45:44
回答 1查看 557关注 0票数 2

我有一个大型构建,它由多个子项目组成,这些子项目都是由一组共享的共享脚本构建的。

假设我想这样做(还有其他模块定义了子项目的实际任务):

代码语言:javascript
复制
var apps = [...]; //list of configuration objects for sub-projects in question
function builds() {
  var buildNames = apps.map(function (app) {
    return "release-build-" + app.name;
  });
  return gulp.parallel(buildNames);
}
function tests() {
  var testNames = apps.map(function (app) {
    return "test-" + app.name;
  });
  return gulp.series(testNames);
}
gulp.task("test", tests);
gulp.task("release-build", gulp.series(tests, builds));

在gulp 3中,我执行以下操作( release-build任务的代码遵循与测试相同的模式):

代码语言:javascript
复制
var runSequence = require("run-sequence").use(gulp);
gulp.task("test", function (callback) {
  // Get the test tasks of all children
  var tasks = apps.map(function(app) {
    return "test-" + app.name;
  });
  tasks.push(callback);
  //run tasks sequentially
  return runSequence.apply(null, tasks);
}); 

然而,当我尝试运行新的GUP4版本时,我会感到恐惧:

以下任务未完成“测试” 你忘了发出异步完成信号了吗?

我如何建立我的任务名称,并将它们传递给gulp.series()gulp.parallel(),就像我在run-sequence中所做的那样

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-23 06:06:55

buildstests函数生成gulp.parallel()gulp.series()任务组合。您要做的是将分配给生成的任务组合作为testrelease-build任务。

您当前要做的是将buildstests函数(本身)指定为您的任务,而不是它们的返回值。

您需要实际调用buildstests函数。所以,不是这样的:

代码语言:javascript
复制
gulp.task("test", tests);
gulp.task("release-build", gulp.series(tests, builds));

你需要这样做:

代码语言:javascript
复制
gulp.task("test", tests());
gulp.task("release-build", gulp.series(tests(), builds()));
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39090709

复制
相关文章

相似问题

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