मेरे पास एक गुल निर्माण कार्य है जो इस तरह के अन्य निर्माण कार्यों से बना है:
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);
});