में रिक्त स्थान से बचें मैं सोच रहा हूं कि मैं फ़ाइल पथ में दिखाई देने वाली रिक्त स्थान के सामने \
प्रोग्रामेटिक रूप से कैसे जोड़ सकता हूं। मैं निर्देशिकाओं की सामग्री प्राप्त करने के लिए fs.readdir
का उपयोग कर रहा हूं और यदि मैं पथ से बाहर की जगहों से बच नहीं पाता हूं तो मुझे ENOENT
त्रुटि मिलती है क्योंकि अनसुलझा पथ यूनिक्स में अमान्य हैं। मैं परिणाम के नीचे मिल चाहते हैं:फ़ाइल पथ
/path/with\ spaces/in/them/
हालांकि, मैं नोड आरईपीएल में एक regex के साथ एक समस्या में चल रहा हूँ। जब मैं कार्य करें:
var path = '/path/with spaces/in/them/';
var escapedPath = path.replace(/(\s)/, "\\ ");
मैं परिणाम के रूप में मिलती है:
'/path/with\\ spaces/in/them/'
जब मैं क्रोम कंसोल के अंदर यह एक ही कोड चलाने की कोशिश मैं:
"/path/with\ spaces/in/them/"
कौन सा वांछित है प्रभाव।
मुझे यकीन नहीं है कि मुझे कुछ याद आ रहा है या यदि यह एक बग है। मैं उलझन में हूं क्योंकि नोड उसी जावास्क्रिप्ट इंजन पर क्रोम के रूप में चलता है इसलिए मुझे लगता है कि इन अभिव्यक्तियों का अर्थ समान होगा।
अगर कोई इस बारे में जानने का तरीका जानता है तो कृपया मुझे बताएं। हो सकता है कि मुझसे कुछ छूट रहा हो। मुझे fs.readdir
में पास करने से पहले पथ से बचने में सक्षम होना चाहिए ताकि मैं इन त्रुटियों से बच सकूं।
धन्यवाद!
मेरे लिए 'fs.readdir' में एक बग की तरह लगता है की कोशिश करो। –
वास्तविक परिणाम क्रोम और नोड.जे.एस. में समान हैं। अंतर यह है कि वे इसे कैसे दिखाते हैं। 'Node.js' में' console.log' जोड़ने का प्रयास करें और आप एक ही परिणाम देखेंगे। –
अनचाहे तारों के लिए, 'एफएस।readFile' 'fs.readdir' के आउटपुट के साथ ठीक काम करता है। –