Gulp में दस्तावेज़ परिवर्तनों की निगरानी

किसी परिवर्तन को करने की आवश्यकता होने पर कंसोल में हर बार कमांड चलाना बहुत सुविधाजनक नहीं है - क्योंकि कोड लिखते समय इसे बहुत बार करना पड़ता है।

इसलिए, Gulp में फ़ाइल परिवर्तनों की निगरानी के लिए एक विशेष फ़ंक्शन watch बनाया गया है। ट्रैक की गई किसी भी फ़ाइल के बदलने पर, संबंधित कार्य स्वचालित रूप से शुरू हो जाएगा।

आइए LESS को CSS में बदलने के एक उदाहरण पर नज़र डालें। सबसे पहले, आइए सभी आवश्यक चीजों को कनेक्ट करें:

javascriptlet {src, dest, watch} = require('gulp');
let less = require('gulp-less');

अब रूपांतरण के लिए एक कार्य बनाते हैं:

javascriptfunction task(cb) {
  return src('src/*.less')
    .pipe(less())
    .pipe(dest('dist'));
}

अब एक अनाम फ़ंक्शन को एक्सपोर्ट करते हैं, जिसके अंदर हम अपनी फ़ाइलों में होने वाले बदलावों पर नज़र रखेंगे, और इस मामले में अपना कार्य को कॉल करेंगे:

javascriptexports.default = function() {
  watch('src/*.less', task);
};

कमांड लाइन में लॉन्च होने के बाद एक "अनंत" कार्य चलेगा। इसका मतलब है कि इस टर्मिनल में अन्य कमांड नहीं डाले जा सकेंगे। टर्मिनल में Ctrl + C दबाकर ऐसे कार्य के निष्पादन को रोका जा सकता है।

विभिन्न फ़ाइल समूहों को ट्रैक करना और उनसे विभिन्न कार्यों को जोड़ना संभव है:

javascriptexports.default = function() {
  watch('src/*.less', task1);
  watch('src/*.sass', task1);
};

या एक समूह के लिए कार्यों की एक श्रृंखला निष्पादित की जा सकती है:

javascriptexports.default = function() {
  watch('src/*.less', series(task1, task2));
};
Задание 1

मान लें कि आपके पास JavaScript फ़ाइलों का एक समूह है। ऐसा करें कि ये फ़ाइलें एक फ़ाइल में मर्ज हो जाएं, और फिर उस फ़ाइल का मिनीमाइज़ेशन (minimization) निष्पादित हो। ऐसा करें कि हमारी किसी भी फ़ाइल के बदलने पर कार्य निष्पादित हो।