Saya masih tidak melihat bagaimana ini benar-benar menyelesaikan pertanyaan yang ada.
Jika saya memiliki 4 tugas dengan dependensi yang ditentukan di antara mereka
A, B, C, D
di mana A bergantung pada B, dll seperti yang didefinisikan oleh gulp.task('A',['B'],function A(){});
dan kemudian saya mendefinisikan tugas baru menggunakan gulp.watch yang menjalankan hanya fungsi akan menduplikasi dependensi.
misalnya diberikan tugas-tugas ini (setiap fungsi tugas diekspos melalui nama):
function A(){}
gulp.task('A',['B'],A);
function A(){}
gulp.task('A',['B'],A);
function B(){}
gulp.task('B',['C'],B);
function C(){}
gulp.task('C',['D'],C);
function D(){}
gulp.task('D',[],D);
saya bisa menulis 1)
gulp.task('WATCHER', ['A'], function(){
...
}
yang akan mengeksekusi A-> D tetapi jika misalnya Langkah B gagal itu tidak akan pernah masuk tugas (pikirkan kompilasi atau uji kesalahan)
atau saya bisa menulis 2)
gulp.task('WATCHER', [], function(){
gulp.watch(...,['A'])
}
yang tidak akan menjalankan A-> D sampai sesuatu diubah terlebih dahulu.
atau saya bisa menulis 3)
gulp.task('WATCHER', [], function(){
D();
C();
B();
A();
gulp.watch(...,['A'])
}
yang akan menyebabkan duplikasi (dan error seiring waktu) hierarki dependensi.
PS: Jika seseorang bertanya-tanya mengapa saya ingin tugas jam tangan saya dijalankan jika ada tugas dependen yang gagal, biasanya karena saya menggunakan jam tangan untuk pengembangan langsung. misalnya. saya memulai tugas jam tangan saya untuk mulai mengerjakan tes, dll. dan bisa jadi kode awal yang saya mulai sudah memiliki masalah sehingga kesalahan.
Jadi saya berharap bahwa gulp run atau yang setara tetap ada untuk beberapa waktu
scripts
, tetapi masuk akal juga untuk memaksa menjalankan tugas ini segera (tanpa menunggu sampai beberapa file skrip berubah).