运行gulp-tsc& wiredep插件按顺序排列

时间:2016-03-01 04:07:16

标签: typescript gulp wiredep

我正在使用gulp 3.0并使用gulp-tsc&然而,当我将两个插件组合在一起时,我没有获得预期的输出(在wiredep任务之后启动typescript compling进程,因此wiredep不包括index.html中的编译Java Script文件)。请查找下面的代码片段,如果有任何事情可以获得预期的输出,请告诉我,即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)); 
});

1 个答案:

答案 0 :(得分:1)

即使您使用run-sequence,您仍然需要从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)); 
});