1
私はgulpファイルに多くのgulpタスクを持っており、各タスクが完了した後に関数を実行する必要があります。gulpタスクが終了したときに関数を実行する方法
私はこのような私のタスク登録取り扱わ:
var registerTask = function (taskName, dependencies, todo) {
if (isProduction) {
gulp.task(taskName, dependencies, todo);
} else {
var prefixedTaskName = '_' + taskName;
// the original task registers here with another name
gulp.task(prefixedTaskName, dependencies, todo);
// register my task to do after the original task is done
gulp.task(taskName, [prefixedTaskName], myRepeatedFunction);
}
}
を、私はこのように自分のタスクを登録します。
registerTask('foo', [], function() {
gulp
.src()
.pipe()
...
})
しかし、これは、ログ(下線タスク名)と私の端子が汚れます:
[15:54:17] Using gulpfile ~/Projects/xxx/gulpfile.js
[15:54:17] Starting '_default'...
[15:54:17] Starting '_remove-source-map'...
[15:54:17] Starting '_fontastic'...
[15:54:28] Finished '_fontastic' after 11 s
[15:54:28] Starting 'fontastic'...
[15:54:28] Finished 'fontastic' after 125 μs
[15:54:28] Starting '_js-hint'...
[15:54:28] Finished '_remove-source-map' after 11 s
[15:54:28] Starting 'remove-source-map'...
[15:54:28] Finished 'remove-source-map' after 59 μs
[15:54:28] Starting '_sass'...
[15:54:33] Finished '_sass' after 4.19 s
[15:54:33] Starting 'sass'...
[15:54:33] Finished 'sass' after 21 μs
[15:54:33] Finished '_js-hint' after 5.11 s
[15:54:33] Starting 'js-hint'...
[15:54:33] Finished 'js-hint' after 18 μs
[15:54:33] Starting '_js'...
[15:54:50] Finished '_js' after 17 s
[15:54:50] Starting 'js'...
[15:54:50] Finished 'js' after 17 μs
[15:54:50] Finished '_default' after 32 s
[15:54:50] Starting 'default'...
[15:54:50] Finished 'default' after 19 ms
私は汚れたログなしで同じことをするより良い方法を探しています(私は - シルレントを使用したくない場合)
gulp.task
にコールバックがあった場合は、同じことをうまくやることができます。