2016-01-03 6 views
9

में कुछ जावास्क्रिप्ट फ़ाइलों को सहेजने के बाद स्वचालित रूप से गल्प कार्य चलाएं मेरे पास मेरे एएसपीनेट प्रोजेक्ट में एक फ़ोल्डर है जिसमें कुछ जावास्क्रिप्ट फ़ाइलें हैं। प्रोजेक्ट बनाने से ठीक पहले, उन्हें गल्फ का उपयोग करके "wwwroot" फ़ोल्डर में छोटा और कॉपी किया गया है। यह बहुत अच्छा काम करता है, लेकिन जब मैं किसी भी जावास्क्रिप्ट फ़ाइलों में कुछ बदलाव करता हूं, तो मुझे पूरी परियोजना को पुनरारंभ करना होगा (भवन से जुड़े कार्यों को चलाने के लिए) या "टास्क रनर एक्सप्लोरर" से मैन्युअल रूप से कार्य चलाएं।विजुअल स्टूडियो

इसमें कुछ समय लगता है और यह काफी परेशान है। जैसे ही मैं इस फ़ोल्डर में किसी भी जावास्क्रिप्ट फ़ाइलों को सहेजता हूं, वैसे ही उन कार्यों को चलाने का कोई तरीका है?

उत्तर

11

आपको gulp.watch का उपयोग करना चाहिए। मैंने अभी ग्रिंट से गुलप तक कुछ बिल्ड स्क्रिप्ट माइग्रेट की हैं, और वही कार्यक्षमता प्रदान करना चाहते हैं।

बस अपने Gulpfile को एक घड़ी कार्य जोड़ने:

gulp.task('watch', function() { 
    gulp.watch('/path/to/your/css/**/*.css', ['minifyCss']); 
}); 

जब आप चलाने के कार्य पूर्ण होने के बाद इस कार्य के घूंट बाहर निकलने नहीं करता है। इसके बजाय जब कोई फ़ाइल बदलती है, तो दूसरी तर्क में निर्दिष्ट कार्य (नों) चलाए जाएंगे। यदि आप फ़ाइल बदलते समय सभी सीएसएस फ़ाइलों को कम करना नहीं चाहते हैं, तो gulp-cached पैकेज आसान हो जाएगा। यह उन फ़ाइलों को फ़िल्टर करता है जो अंतिम बार कार्य चलाने के बाद संशोधित नहीं होते हैं (एक गुलप चलने वाले सत्र में, गुलप रन के बीच नहीं)। अपने कार्य में gulp.src कॉल के बाद बस इसे जोड़ें और यह संशोधित फ़ाइलों को फ़िल्टर करेगा।

var cached = require('gulp-cached'), 
    cssnano = require('gulp-cssnano'); 

gulp.task('minifyCss', function() { 
    return gulp.src('/path/to/your/css/**/*.css') 
     .pipe(cached('cssFiles')) 
     .pipe(cssnano()) // or whatever plugin you use for minification 
     .pipe(gulp.dest('./dist/')); 
} 

मैं अपने काम वी.एस. टास्क धावक से इस एक के लिए इसी तरह चलाने का प्रयास किया था, लेकिन यह ES6 मेरी Gulpfile में इस्तेमाल सुविधाओं पसंद नहीं है तो मैं क्या यह लगातार चल रहे कार्यों के साथ ठीक काम कर रहा है पता नहीं है । हालांकि यह कमांड लाइन के इरादे से काम कर रहा है।

+0

चूंकि गल्प घड़ी चॉकिडर पर आधारित होती है, इसलिए जब फ़ाइल प्रक्रियाओं को पूरी तरह से लिखा और बंद नहीं किया जाता है तो यह अक्सर EPERM त्रुटियों को फेंकता है। यह विंडोज़/विजुअल स्टूडियो फाइलों को लिखने के कारण है। – Fis

संबंधित मुद्दे