我正在使用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));
});
答案 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));
});