Gulp 使用 运行-sequence 调用时注入任务不起作用

Gulp inject task doesn't work when calling with run-sequence

所需步骤

  1. clean build 目录。
  2. compile typescript files然后把编译好的文件放到build目录下
  3. inject compiled files 作为 index.html 的脚本,然后将其放入构建目录。

项目结构

-- build
-- src
   --app
     --app.ts
     ..
-- index.html

index.html

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
    <!-- inject:js -->
    <!-- endinject -->
</body>
</html>

Gulp 任务

"devDependencies": {
   "del": "^2.2.0",
   "gulp": "^3.9.0",
   "gulp-inject": "^3.0.0",
   "gulp-typescript": "^2.10.0",
   "run-sequence": "^1.1.5"
}

gulp.task('clean', function() {
   return del('build');
});

gulp.task('ts', funtion() {
   var tsProject = ts.createProject('tsconfig.json');
   return tsProject.src('src/**/*.ts')
        .pipe(ts(tsProject))
        .js.pipe(gulp.dest('build'));
});

gulp.task('inject', funtion() {
   return gulp.src('index.html')
        .pipe(inject(gulp.src('build/**/*.js', {read: false}), {ignorePath: 'build', relative: true}))
        .pipe(gulp.dest('build'));
});

gulp.task('build', function() {
   runSequence('clean', 'ts', 'inject');
});

问题

当我执行 gulp ts && gulp inject 时,它运行良好。

当我执行 gulp build 时,inject 不工作,没有消息打印出来。

我认为 运行 序列有问题。你能帮我找出问题所在以及如何解决吗?

经过几个小时的挖掘,我意识到当任务 returns 一个不合适的流时,运行-sequence 停止 运行 没有警告或错误。 希望这对遇到同样问题的其他人有所帮助。