मेरे पास एक गल्प कार्य है जो समेकित जेएस फाइलें उत्पन्न करता है। मैं प्रोजेक्ट में सभी फाइलों में बदलावों का पता लगाने के लिए एक घड़ी का उपयोग कर रहा हूं और अंतिम निष्पादन के बाद स्रोत फ़ाइलों को बदल दिया गया है, तो केवल कंसट कार्य को फाइलों को दोबारा जोड़ना होगा।गुलप टास्क पाइपलाइन केवल तभी संगत है जब स्रोत फ़ाइल बदलती है
टिप्पणी: मैं और अधिक विशिष्ट घड़ी आदेशों का उपयोग कर सकता है, लेकिन मेरी वास्तविक उत्पादन मामले में हम
है स्रोत जे एस फ़ाइलों के कई संयोजन से कई concatenanted जे एस फ़ाइलें पैदा कर रहे हैं, इसलिए इनमें से प्रत्येक के लिए देखता है और कार्यों बनाने और अधिक जटिलकुछ इस तरह:
gulp.task('scripts', function() {
return gulp.src('src/**/*.js')
.pipe(cache('scripts'))
// If no changed files in pipeline, exit pipeline,
// else add in all src files again
.pipe(concat('app.js'))
.pipe(gulp.dest('build/'));
});
मैं पिछले दो चरणों के लिए एक lazypipe का उपयोग कर तो मैं केवल concat चलाने के लिए और डेस्ट अगर वहाँ फ़ाइलें हैं के बारे में सोचा है, लेकिन मैं नहीं जानता कि कैसे:
- एक शर्त पर कि क्या वहाँ (कैश के बाद पाइप लाइन में छोड़ दिया अभी भी किसी भी फाइल कर रहे हैं आधारित चलाएं()
- वापस ले आओ सब स्रोत फ़ाइलें (मूल रूप से धारा reprime को)
मुझे पता है कि मैं दूसरे भाग के लिए गल्प-याद का उपयोग कर सकता हूं, लेकिन मेरे उत्पादन मामले में अगर यह संभव हो तो स्ट्रीम को पुनर्निर्माण करने के लिए यह बहुत साफ होगा।
किसी ने इसे पहले किया है या कहां से शुरू करना है इसके लिए कोई संकेत है?
क्या आपने [gulp-change] (https://www.npmjs.org/package/gulp-changed/) पर एक नज़र डाली है? –
@ जोशक्लेटन मैंने चेकआउट को बदल दिया और ऐसा लगता है कि यह इस मुद्दे के संबंध में गल्प-कैश के समान व्यवहार करेगा। (यानी यह केवल उस स्ट्रीम में इनपुट फाइलों के माध्यम से गुजरता है जिसे वास्तव में संसाधित करने की आवश्यकता होती है)। मुझे नहीं लगता कि यह फिर से सभी src फ़ाइलों को बाहर निकालने या जोड़ने के मुद्दे को हल करेगा। – Allen