मैं सर्किलसीआई के लिए एक बार में अपनी सभी बिल्ड एसेट जेनरेट करने के लिए gulp.series का उपयोग करने का प्रयास कर रहा हूं।

const circleciBuild = gulp.series(styles, js, generate-favicon)

lando gulp circleciBuild संदेश के साथ विफल:

ReferenceError: generate is not defined

लेकिन इसे गल्पफाइल में परिभाषित किया गया है:

gulp.task('generate-favicon', function(done) {
  realFavicon.generateFavicon({
  // Long function
  }, function() {
    done();
  });

});

मैंने फ़ंक्शन के नाम को generateTheFavicon में बदलने का प्रयास किया, लेकिन फिर मुझे त्रुटि मिलती है:

ReferenceError: generateTheFavicon is not defined

मैं अनुमान लगा रहा हूं कि कार्य को परिभाषित करने के तरीके से इसका कुछ लेना-देना है, क्योंकि js और styles function js() और function styles() हैं, जबकि समस्या फ़ंक्शन है gulp.task. मैं gulp.task फ़ंक्शन को gulp.series में उपयोग करने के लिए उसे फिर से कैसे लिख सकता हूं?

यह आसान हो सकता है, लेकिन मैं गल्प के लिए नया हूं और जेएस के साथ बहुत अच्छा नहीं हूं।

0
Patrick Kenny 17 जुलाई 2020, 17:16

1 उत्तर

सबसे बढ़िया उत्तर

चूंकि आप कार्यों को परिभाषित करने की इस शैली का उपयोग कर रहे हैं:

gulp.task('generate-favicon',...

फिर आप हमेशा उन कार्यों को उनके स्ट्रिंग नामों के रूप में संदर्भित करेंगे। इसलिए

const circleciBuild = gulp.series(styles, js, 'generate-favicon')

आप अपने अन्य कार्यों को नहीं दिखाते हैं इसलिए मुझे नहीं पता कि उन्हें कैसे परिभाषित किया जाता है।

यदि इसके बजाय आपने इस फ़ॉर्म का उपयोग किया है:

function generate-favicon ()  {...

तो आप उन्हें स्ट्रिंग्स के रूप में संदर्भित नहीं करेंगे, बस उनके फ़ंक्शन नाम तो

const circleciBuild = gulp.series(styles, js, generate-favicon)

सही होगा। अन्य कारणों से, तर्क पारित करने की तरह यह बाद में फ़ंक्शन नाम विधि इसे करने का अनुशंसित तरीका है।

1
Mark 17 जुलाई 2020, 17:56