2011-10-18 8 views
12

मैं एक सार्वजनिक/निर्देशिका है कि मैं के रूप में एक्सप्रेस में स्थिर फ़ाइलों से युक्त की स्थापना की है है:ब्राउज़िंग Node.js में स्थिर फ़ाइल निर्देशिका वृक्ष/व्यक्त

app.use(express.static(__dirname + '/public')); 

यह

/public/images 
में एक छवियों निर्देशिका है

और इसमें विभिन्न छवियों का गहरा सबट्री है। अगर मैं छवि के लिए पूर्ण पथ डालता हूं, तो यह कोई समस्या नहीं है।

http://mysite.com/images/tiles/grass.png 

जब मैं सिर्फ एक यूआरएल के लिए जाने जैसे

http://mysite.com/images/tiles/ 

यह सिर्फ मुझे त्रुटि देता है कि यह देता है जब यह एक गैर स्थिर मार्ग खोजने की कोशिश करता है, लेकिन पथ मौजूद नहीं है ।

मैं इसे कैसे बना सकता हूं ताकि मेरे स्थिर पथ में सभी निर्देशिकाएं दिखा सकें जैसे अपाचे नेविगेशन निर्देशिका संरचना को दिखाया है?

उत्तर

24

जब

http://mysite.com/images/tiles/ 

डाल क्योंकि क्या आप अनुरोध कर रहे हैं एक निर्देशिका अनुरोध सूचीबद्ध होते हैं और ऐसा लगता है कि स्थिर मिडलवेयर बस में कार्य करता है नहीं निर्देशिका फ़ाइलें। आप

app.use(express.directory(your_path)); 
app.use(express.static(your_path)); 

यह उपयोग करने के लिए आपको यूआरआई आप के बारे में बात कर रहे हैं अनुरोध कर दूँगी है। जानकारी के लिए यहाँ

var directory = require('serve-index'); 
app.use(directory(your_path)); 

चेक:

+0

महान काम किया है, धन्यवाद! यह वर्तमान एक्सप्रेस गाइड में नहीं है। इसके अलावा 2.4.4 से 2.4.7 तक अपडेट की आवश्यकता है (किसी और के लिए जिसकी यह समस्या है) – RobKohr

+4

यदि आप पथ देते समय index.html फ़ाइलों का उपयोग करना चाहते हैं, express.directory से पहले express.static डालें। स्टेटिक इंडेक्स फ़ाइल लोड करेगा, इसलिए फ़ाइल ब्राउज़िंग होने पर निर्देशिका ब्राउज़िंग नहीं होगी। – RobKohr

10

एक्सप्रेस 4 के लिए यह एक छोटे से अलग दिखता है

https://github.com/expressjs/serve-index

+0

क्या यह उपनिर्देशिका भी प्रदान करता है? – Dinoboff

+0

हाँ, मेरे लिए काम करता है। –

+0

क्या मैं फ़ाइल भी देख सकता हूं? –

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