运行 gulp-tsc & wiredep插件顺序

running gulp-tsc & wiredep plug-ins in sequence

我正在使用 gulp 3.0 并使用 gulp-tsc 和 wiredep 插件,但是当我将这两个插件组合在一起时,我没有得到预期的输出(打字稿编译过程开始在 wiredep 任务之后,wiredep 不包括 index.html) 中已编译的 Java 脚本文件。请在下面找到代码片段,如果可以做任何事情来获得预期的输出,请告诉我,即 wiredep 应该等待 tsc 编译器完成他的工作,并在 index.html) 中包含已编译的依赖项。

gulp.task('compile:typescript', () => {
   gulp.src(config.ts)
    .pipe(typescript())
    .pipe(gulp.dest(config.dest))
});

gulp.task('run', function () {
  runseq('compile:typescript', 'wiredep');
});

gulp.task('wiredep', () => {
   var options = config.wiredepDefaultOptions();
   gulp.src(config.index)
    .pipe(wiredep(options))
    .pipe(gulp.dest(config.dest))
    .pipe($.inject(gulp.src(config.js)))
    .pipe($.inject(gulp.src(config.css)))
    .pipe(gulp.dest(config.dest)); 
});

即使您使用 run-sequence,您仍然需要 return 来自您任务的流 gulp 以了解您的任务何时完成:

gulp.task('compile:typescript', () => {
   return gulp.src(config.ts)
 //^^^^^^ don't forget this
    .pipe(typescript())
    .pipe(gulp.dest(config.dest))
});

gulp.task('run', function () {
  runseq('compile:typescript', 'wiredep');
});

gulp.task('wiredep', () => {
   var options = config.wiredepDefaultOptions();
   return gulp.src(config.index)
 //^^^^^^ don't forget this
    .pipe(wiredep(options))
    .pipe(gulp.dest(config.dest))
    .pipe($.inject(gulp.src(config.js)))
    .pipe($.inject(gulp.src(config.css)))
    .pipe(gulp.dest(config.dest)); 
});