Usimamizi wa Kazi Zisizo na Mpangilio Katika Gulp
Inapaswa kuelemewa kuwa kazi zote za Gulp - hazina mpangilio. Hii inamaanisha nini, hebu tuangalie kwa mfano. Hebu tuseme ndani ya kazi ya umma zinatajwa kazi mbili za kibinafsi:
function taskD(cb) {
task1(cb);
task2(cb);
cb();
}
Kutokuwa na mpangilio kunamaanisha kuwa kazi task2
haitasubiri mwisho wa utekelezaji wa
kazi task1, bali itatekelezwa
wakati wa huo huo nayo.
Hebu tufikirie kwa kina kwa kutumia mfano unaowezekana zaidi. Hebu tuseme kazi ya kwanza inabadilisha LESS kuwa CSS, na kazi ya pili - inapunguza CSS iliyopatikana.
Katika hali kama hii, tutakabiliana na tatizo: haisawezekani kupunguza faili ya CSS kabla ya matokeo ya usindikaji wa LESS kuingia ndani yake!
Hata hivyo, kama kazi zingetekelezwa kwa mpangilio - mmoja baada ya mwingine, tungelikabiliana na tatizo lingine: kazi ambazo zinaweza kufanywa kwa sambamba, zingefanywa moja baada ya nyingine, na hivyo kupunguza kasi ya Gulp. Hebu tufikirie hili pia kwa mfano.
Hebu tuseme kazi ya kwanza inapunguza faili za CSS, na kazi ya pili - inapunguza faili za JavaScript. Ni wazi, kuwa operesheni hizi mbili zisizo na uhusiano zinaweza kufanywa wakati huo huo.
Kwa bahati nzuri, Gulp inatoa zana zinazoruhusu kuonyesha wazi, ni kazi zipi zinapaswa kufanywa kwa sambamba, na zipi - kwa mpangilio. Zana hizi tutazichambua katika somo linalofuata.
Tafuta mfano wa kazi mbili ambazo zinapaswa kutekelezwa kwa mpangilio tu.
Tafuta mfano wa kazi mbili ambazo zinapaswa kutekelezwa kwa sambamba tu.