/ / अन्य गुल कार्यों के भीतर से गुल्प कार्य? - जावास्क्रिप्ट, बिल्ड-प्रोसेस, गुलप

अन्य गुलप कार्यों के भीतर से गुलप कार्य? - जावास्क्रिप्ट, बिल्ड-प्रोसेस, गल्प

मेरे पास एक गुल निर्माण कार्य है जो इस तरह के अन्य निर्माण कार्यों से बना है:

gulp.task("build", ["build-html", "build-css", "build-js", "build-images"]);

मुझे इस बात से नफरत है कि यह build कार्य निर्भरता समाप्त होने के बाद तक नहीं चलता है:

Starting "build-html"...
Finished "build-html" after 1 s
Starting "build-css"...
Finished "build-css" after 1 s
Starting "build-js"...
Finished "build-js" after 1 s
Starting "build-images"...
Finished "build-images" after 1 s
Starting "build"...
Finished "build" after 1 ms

अब जाहिर है, build इसे तब तक नहीं चलाना चाहिए जब तक कि यह निर्भरता समाप्त न हो जाए, इसलिए यह उम्मीद के मुताबिक काम कर रहा है। लेकिन यह कहने के कंसोल में परिणाम है build केवल 1 एमएस लिया जब वास्तव में यह कहना चाहिए कि इसे 4 सेकंड का समय लगा, क्योंकि यह सब निर्भरता के लिए बहुत लंबा समय लगा। अच्छा होगा अगर यह कुछ इस तरह दिखता है:

Starting "build"...
Starting "build-html"...
Finished "build-html" after 1 s
Starting "build-css"...
Finished "build-css" after 1 s
Starting "build-js"...
Finished "build-js" after 1 s
Starting "build-images"...
Finished "build-images" after 1 s
Finished "build" after 4 s

नोटिस कैसे build पहली बात यह है कि "शुरू होता है", फिर सभी निर्भरताएं चलती हैं, फिर build खत्म।

इसलिए जो मैं सोच रहा हूं, वह कार्य निर्भरता का उपयोग करने के बजाय, क्या मैं प्रत्येक कार्य को एक समय में भीतर से बुला सकता हूं build काम? यदि हां, तो मुझे ऐसा करने के लिए किस कमांड का उपयोग करना चाहिए?

क्या यह एक बुरा विचार है? क्या इस समस्या का कोई बेहतर समाधान है?

उत्तर:

उत्तर № 1 के लिए 1

मुझे लगता है कि आप इसका उपयोग कर सकते हैं runSequence आप क्या चाहते हैं करने के लिए प्लगइन।

आप के एकमात्र उद्देश्य के बाद से build कार्य सभी को लॉन्च करना है build-* कोई विशिष्ट आदेश के साथ कार्य, यह इस तरह दिख सकता है:

var rs = require("run-sequence");

gulp.task("build", function (cb) {
rs(["build-css", "build-html", "build-js", "build-images"], cb);
});