Gulp'ta Görevlerin Eşzamansızlığı
Gulp'taki tüm görevlerin eşzamansız olduğunu anlamanız gerekir. Bunun ne anlama geldiğini bir örnekle görelim. Kamuya açık bir görevin içinde iki özel görev çağrılsın:
function taskD(cb) {
task1(cb);
task2(cb);
cb();
}
Eşzamansızlık, task2 görevinin,
task1 görevinin çalışmasının bitmesini
beklemeyeceği, onunla paralel olarak
çalışacağı anlamına gelir.
Bunu daha pratik bir örnekle düşünelim. İlk görevin LESS'i CSS'e dönüştürdüğünü, ikinci görevin ise elde edilen CSS'i küçülttüğünü varsayalım.
Bu durumda bir problemle karşılaşırız: çünkü LESS derlemesinin sonucu CSS dosyasına gelmeden önce onu küçültemeyiz!
Ancak, görevler eşzamanlı çalışsaydı - yani birbiri ardına sıralı olsaydı, başka bir problemle karşılaşırdık: paralel olarak yapılabilecek görevler, birbiri ardına çalıştırılarak Gulp'un çalışmasını yavaşlatırdı. Bunu da bir örnekle düşünelim.
İlk görevin CSS dosyalarını küçülttüğünü, ikinci görevin ise JavaScript dosyalarını küçülttüğünü varsayalım. Açıktır ki, bu birbiriyle ilişkisi olmayan iki işlem aynı anda yapılabilir.
Neyse ki, Gulp, hangi görevlerin paralel, hangi görevlerin sıralı olarak yapılması gerektiğini açıkça belirtmemize olanak tanıyan araçlar sağlar. Bu araçları bir sonraki derste inceleyeceğiz.
Sadece sırayla yapılması gereken iki görev örneği bulun.
Sadece paralel olarak yapılması gereken iki görev örneği bulun.