Javascript 错误:调用任务完成回调的次数太多
我正在将Typescript文件编译成Javascript,从不同的源到不同的目的地。我需要知道何时完成所有编译以运行任务Javascript 错误:调用任务完成回调的次数太多,javascript,gulp,Javascript,Gulp,我正在将Typescript文件编译成Javascript,从不同的源到不同的目的地。我需要知道何时完成所有编译以运行任务minifyJS 问题是我遇到了错误:error:task completion callback调用次数过多。这是对的,但我该怎么办呢 gulp.task('compileTS', function (done) { // Compile pages pump([ gulp.src(paths.componentsTS), t
minifyJS
问题是我遇到了错误:error:task completion callback调用次数过多
。这是对的,但我该怎么办呢
gulp.task('compileTS', function (done) {
// Compile pages
pump([
gulp.src(paths.componentsTS),
typescript({
target: 'ES5'
}),
gulp.dest(paths.dest)
], done);
// Compile services
pump([
gulp.src(paths.servicesTS),
typescript({
target: 'ES5'
}),
gulp.dest(paths.dest + 'Services/')
], done);
// Compile tests
pump([
gulp.src(paths.testsTS),
typescript({
target: 'ES5'
}),
gulp.dest(paths.destTestsJS)
], done);
});
// This task needs to be called after 'compileTS' is done
gulp.task('minifyJS', ['compileTS'], function () {
pump([
gulp.src([paths.dest + paths.allJS]),
uglify(),
rename({
suffix: '.min'
}),
gulp.dest(paths.dest)
]);
});
添加一些计数器(例如,剩余值
)以跟踪完整性:
gulp.task('compileTS', function (done) {
var remains = 0;
// Compile pages
remains++;
pump([
gulp.src(paths.componentsTS),
typescript({
target: 'ES5'
}),
gulp.dest(paths.dest)
], completed);
remains++;
// Compile services
pump([
gulp.src(paths.servicesTS),
typescript({
target: 'ES5'
}),
gulp.dest(paths.dest + 'Services/')
], completed);
remains++;
// Compile tests
pump([
gulp.src(paths.testsTS),
typescript({
target: 'ES5'
}),
gulp.dest(paths.destTestsJS)
], completed);
function completed () {
if (--remains===0) {
done(null, '');
}
}
});
处理我为您保留的错误。请完整发布您的gulpfile.js,我可以在本地运行此文件并为您发布解决方案:)我想到了此解决方案。我想我会去的,这太糟糕了,没有“一饮而尽的解决办法”。