gulp ग्लोबिंग- डायरेक्टरी के नीचे सब कुछ कैसे देखें


108

यह एक सुंदर गूंगा सवाल है, लेकिन मैं वास्तव में एक संतोषजनक जवाब खोजने के लिए नहीं कर पाए हैं: मैं घूंट का चयन करने के ग्लोबिंग का उपयोग कैसे करूँ सब में फ़ाइलों को सभी एक निश्चित निर्देशिका के नीचे उपनिर्देशिका?

मैंने कोशिश की:

'./src/less' './src/less/' './src/less/*'

उनमें से कोई भी काम नहीं करता है।

जवाबों:


178

सभी निर्देशिकाओं के अंतर्गत सभी फ़ाइलों का पैटर्न आमतौर पर ./src/less/**/*.*या ./src/less/**/*तो काम करना चाहिए।

सामान्यतया, विशिष्ट फ़ाइलों के एक्सटेंशन से मिलान करना बेहतर होता है - भले ही वे सभी समान हों - सिस्टम फ़ाइलों या अन्य रद्दी को रोकने के लिए। उस स्थिति में, आप ./src/less/**/*.lessकेवल .lessफ़ाइलों के लिए, या .src/less/**/*.{less,css}दोनों .lessऔर .cssफ़ाइलों के लिए कुछ ऐसा कर सकते हैं ।

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

यह अच्छा होगा कि अपने स्वयं के संपूर्ण डॉक्स के लिए यह छोटा या छोटा हो, लेकिन यह आपके लिए खुला स्रोत है।


मैं ग्रंट वेबसाइट की जाँच करूँगा, धन्यवाद। सिस्टम फ़ाइलों के बारे में बात निश्चित रूप से समझ में आती है। इसका कारण मैं इसे थोड़ा ढीला करना चाहता हूं क्योंकि मैं इसे देखने के लिए उपयोग कर रहा हूं।
जहान

1
यदि आप पहले से ही नहीं हैं, तो मैं gulp-watchफ़ाइलों को देखने के लिए मॉड्यूल का उपयोग करने के लिए सीखने और उपयोग करने की सलाह देता हूं , क्योंकि यह नई फ़ाइलों के लिए भी देख सकता है। यह स्थापित करने के लिए थोड़ा और काम है, लेकिन इसके लायक है, IMO।
ज्यादा

8
भविष्य के संदर्भ के लिए, मैं globtester.com पर एक उपकरण का उपयोग करता हूं, यह न्यूनतम का उपयोग करता है, जो नोड-ग्लोब के माध्यम से उपयोग करता है। "ग्लोब नोड-ग्लोब सिंटैक्स को संदर्भित करता है या यह एक सीधा फ़ाइल पथ हो सकता है।" (स्रोत: github.com/gulpjs/gulp/blob/master/docs/API.md ) "[नोड ग्लोब] minimatch लाइब्रेरी का उपयोग करता उससे मेल खाने वाली है।" (स्रोत: github.com/isaacs/node-glob )
डैनियल ड्रिक जूल

1

'./src/less/**'काम करने लगता है। फिर भी, यदि किसी के पास सभी ग्लोबिंग कमांड्स की अधिक निश्चित सूची है, तो मुझे आपके उत्तर को स्वीकार करने और इसे gulp डॉक्स में जोड़ने में खुशी होगी। अभी आपको gulp के सबमॉडल्स में से एक के लिए डॉक्स पर जाना है, जो तब आपको मैनपेज़ की सूची देता है। अच्छा होगा कि इसका सीधा संदर्भ दिया जाए, खासतौर पर गल्प का इस्तेमाल करने वाले डिजाइनरों के लिए।


1
gulp.watch('./build/**', ...)लगता है (गलत?) मूल निर्देशिका में कुछ परिवर्तनों के लिए ट्रिगर (जैसे ./। / / / /)। अंत में अतिरिक्त / * जोड़ना उस समस्या से बचने के लिए लगता है gulp.watch('./build/**/*', ...):।
ध्यान

@ मैडमंड्स मुझे इसी तरह के परिणाम मिले हैं। ग्लोब एक * या एक विशिष्ट *। रहित के साथ समाप्त होता है। *। * काम नहीं करेगा क्योंकि यह बिना विस्तार के कुछ भी याद करता है। यह लेने के लिए प्रकट होता है और मैच POSIX शैली मिलान का उपयोग कर; मतलब अगर किसी फाइल में 'पीरियड' नहीं है, तो यह मेल नहीं खाएगा। शायद वहाँ के लिए एक विशेष मामला होना चाहिए के रूप में विंडोज पर DIR के माध्यम से 'LICENSE' से मेल खाता है, लेकिन दुर्भाग्य से ln *.*ऐसा नहीं है। दो अलग अर्थ ' ' दुखी है। *लगता है कि हम क्या जरूरत है। ए ग्लोब शायद कभी नहीं है जो डेवलपर ने वास्तव में मेरी राय में इरादा किया है और इसे फेंकने की चेतावनी की आवश्यकता हो सकती है।
एंड्रयू टी फिनेल

@filthy_wizard - **पुनरावर्ती है।
स्टीवन वेंटिमिग्लिया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.