मैं ./../path/to/files/**/*.txt
लेकिन इसके बजाय इस तरह के मैचों को प्राप्त करने के glob के लिए की जरूरत है:ग्लोब और केवल मैच लौट (कोई प्रमुख पथ)
./../path/to/files/subdir/file.txt
मैं जड़ की जरूरत बंद छीन लिया:
subdir/file.txt
वर्तमान में, मेरे पास है:
oldwd = process.cwd()
process.chdir(__dirname + "/../path/to/files")
glob.glob("**/*.txt", function (err, matches) {
process.chdir(oldwd)
});
लेकिन यह थोड़ा बदसूरत है और ऐसा लगता है कि दौड़ की स्थिति भी होती है: कभी-कभी ग्लोब पुराने पर ग्लोब होता है। तो उसे जाना है।
मैं बस matches
पर मैपिंग पर विचार कर रहा हूं और स्ट्रिंग ऑपरेशंस के साथ अग्रणी पथ को अलग कर रहा हूं। चूंकि ग्लोब रिटर्न डॉटडिर्स के साथ मेल खाता है, इसलिए मुझे लगता है कि मुझे अपनी खोज-और-प्रतिस्थापन स्ट्रिंग में ऐसा करना होगा, मुझे लगता है। यह सिर्फ इतना गन्दा हो रहा है कि मुझे आश्चर्य है कि अगर इसे संभालने के लिए बेहतर (अंतर्निर्मित या पुस्तकालय?) तरीका है।
तो, नोड.जेएस और में ग्लोब करने के लिए एक अच्छा, साफ और सही तरीका क्या है "मिलान" भाग प्राप्त करें? जावास्क्रिप्ट और CoffeeScript दोनों मेरे साथ ठीक
ओह अच्छा एक path.relative मैं इसे करने की कोशिश करने जा रहा हूँ अब – Rebe
हम्म दुर्भाग्य से मैं नोड 0.4.x और path.relative पर हूँ एक बाद इसके अलावा – Rebe
@Rebe हो रहा है: आप 'कटाव सकता रिश्तेदार '[पथ 'स्रोत से बाहर] (https://github.com/joyent/node/blob/master/lib/path.js)। (या पूरे मॉड्यूल का नाम बदलें और सभी में खींचें, जो शायद एक बेहतर विचार है) – icktoofay