我想不通爲什麼我得到信號異步完成的錯誤,雖然我回到流
Did you forget to signal async completion?
這裏是我的設置:
gulp.task('compile-ts',() => {
return tsProject.src(config.files.src.ts)
.pipe($.tap((file, t) => {
logVerbose('Compiling "' + file.path + "'");
}))
.pipe($.sourcemaps.init())
.pipe($.typescript(tsProject))
.pipe($.sourcemaps.write('./'))
.pipe($.chmod(755))
.pipe(gulp.dest(config.dist));
});
gulp.task('copy-assets',() => {
return gulp.src(config.files.src.css_html_js, { base: config.src })
.pipe($.tap((file, t) => {
logVerbose('Copying "' + getFileName(file.path) + "'");
}))
.pipe($.chmod(755))
.pipe(gulp.dest(config.dist));
});
gulp.task('browser-sync', (done) => {
browserSync.init({
"port": 3000,
"startPath": "dist/index.html",
"browser": "chrome",
"logLevel": "silent",
"server": {
"middleware": {
"0": null
}
}
}, done);
process.on('exit',() => {
browserSync.exit();
});
})
gulp.task('watch', gulp.parallel(() => {
gulp.watch(config.files.ts, gulp.series('compile-ts'));
},() => {
gulp.watch(config.files.css_html_js, gulp.series('copy-assets'));
}));
gulp.task('serve-dist', gulp.parallel('watch', 'browser-sync'));
根據堆棧跟蹤,違規行
gulp.watch(config.files.ts, gulp.series('compile-ts'));
裏面的watch
任務。任務compile-ts
正在工作,它返回一個流,這應該足以表示完成。但是,爲什麼我會收到錯誤呢?
編輯:
改變watch
任務
gulp.task('watch', (done) => {
gulp.watch(config.files.css_html_js, gulp.series('copy-assets'));
gulp.watch(config.files.ts, gulp.series('compile-ts'));
done();
});
我沒有得到任何錯誤了,但是任務是在所有4毫秒內完成,什麼都不做。如果我刪除了done
部件,我又得到相同的錯誤。
EDIT2:我分裂的任務了一些更能夠找出問題,
gulp.task('watch-ts',() => {
return gulp.watch(config.files.ts, gulp.series('compile-ts'));
});
gulp.task('watch-assets',() => {
return gulp.watch(config.files.css_html_js, gulp.series('copy-assets'));
});
gulp.task('watch', gulp.parallel('watch-ts', 'watch-assets'));
現在watch-ts
和watch-assets
既給我的錯誤信息。據我所知,其中任何一個都會返回一個流。
的可能的複製[咕嘟咕嘟錯誤:下面的任務沒有完成:你忘了信號異步完成?](HTTP ://www.stackoverflow.com/questions/36897877/gulp-error-the-following-tasks-did-not-complete-did-you-forget-to-signal-async) –
也不'tsProject.src() '返回一個流? ['gulp.watch()'](https://github.com/gulpjs/gulp/blob/4.0/docs/API.md#gulpwatchglobs-opts-fn)需要一個字符串或一個字符串數組。 –
更正。不會改變結果,並在發佈我的問題之前檢查了建議的答案 - 在我看來 - 我正在返回一個流(=您的答案項目1)。 –