दिलचस्प पोस्ट
क्यों नहीं MySQL मिलिसेकंड / माइक्रोसॉंड परिशुद्धता का समर्थन करता है? एक ग्रूवी स्क्रिप्ट को एक और ग्रूवी में शामिल करना सी ++ में मुख्य () में recurse क्या कानूनी है? अंतिम स्थानीय चर को सौंपा नहीं जा सकता क्या मुझे पासवर्ड पर अधिकतम लंबाई लगाई जानी चाहिए? जावा विधि को रिक्त तर्क के साथ प्रेषण getElementsByClassName बनाम क्वेरीसचारेक सभी mysql_num_rows (): आपूर्ति की गई तर्क एक मान्य MySQL परिणाम संसाधन नहीं है शिरो बनाम स्प्रिंग सिक्योरिटी पीएचपी का उपयोग करते हुए एक फाइल से एक निर्देशिका में दूसरी प्रतिलिपि कैसे करें? रेल ActiveRecord: INNER में शामिल होने के बजाय LEFT JOIN के साथ जुड़ जाता है पैरामीटर के रूप में एसक्यूएल क्वेरी में अजगर सूची कैसे html कैनवास तत्व का आकार बदलना है? @ आईडी / एंड्रॉइड: सूची और @ + आईडी / सूची के बीच क्या अंतर है Preg_match_all <a href

एक्सप्रेस-जेएस मेरी स्थैतिक फाइलें नहीं प्राप्त कर सकते हैं, क्यों?

मैंने अपना कोड सरल एक्सप्रेस-जेएस ऐप को कम कर दिया है जो मैं कर सकता था:

var express = require("express"), app = express.createServer(); app.use(express.static(__dirname + '/styles')); app.listen(3001); 

मेरी निर्देशिका इस तरह दिखती है:

 static_file.js /styles default.css 

फिर भी जब मैं http://localhost:3001/styles/default.css हूं, तो मुझे निम्न त्रुटि मिलती है:

 Cannot GET / styles / default.css 

मैं express 2.3.3 और node 0.4.7 का उपयोग कर रहा हूँ। मैं क्या गलत कर रहा हूं?

Solutions Collecting From Web of "एक्सप्रेस-जेएस मेरी स्थैतिक फाइलें नहीं प्राप्त कर सकते हैं, क्यों?"

http://localhost:3001/default.css आज़माएं

आपके अनुरोध यूआरएल के लिए /styles , का प्रयोग करें:

 app.use("/styles", express.static(__dirname + '/styles')); 

इस पृष्ठ के उदाहरण देखें:

 //Serve static content for the app from the "public" directory in the application directory. // GET /style.css etc app.use(express.static(__dirname + '/public')); // Mount the middleware at "/static" to serve static content only when their request path is prefixed with "/static". // GET /static/style.css etc. app.use('/static', express.static(__dirname + '/public')); 

मेरी भी यही समस्या है। मैंने निम्नलिखित कोड के साथ समस्या का समाधान किया है:

 app.use('/img',express.static(path.join(__dirname, 'public/images'))); app.use('/js',express.static(path.join(__dirname, 'public/javascripts'))); app.use('/css',express.static(path.join(__dirname, 'public/stylesheets'))); 

स्थिर अनुरोध उदाहरण:

 http://pruebaexpress.lite.c9.io/js/socket.io.js 

मुझे एक और सरल समाधान की आवश्यकता है क्या यह मौजूद है?

default.css http://localhost:3001/default.css पर उपलब्ध होना चाहिए

app.use(express.static(__dirname + '/styles')); में app.use(express.static(__dirname + '/styles')); सिर्फ स्टैटिक फाइल के लिए styles डाइरेक्टरी में देखने के लिए एक्सप्रेस को बताता है। यह (confusingly) नहीं करता है तो रास्ते पर यह उपलब्ध है पर का हिस्सा है।

आपके server.js में:

 var express = require("express"); var app = express(); app.use(express.static(__dirname + '/public')); 

आपने एक्सप्रेस और ऐप अलग से घोषित किया है, 'सार्वजनिक' नामक एक फ़ोल्डर बनाओ या जैसा आप चाहें, और फिर भी आप इन फ़ोल्डर तक पहुंच सकते हैं। आपके टेम्पलेट में, आपने सापेक्ष पथ से / सार्वजनिक (या अपने फ़ोल्डर के भाग्य को स्थैतिक फाइलों के नाम) से रखा है मार्गों पर सलाखों से सावधान रहें

स्थैतिक फाइलों (सीएसएस, छवियां, जेएस फाइल्स) की सेवा के लिए सिर्फ दो कदम:

  1. सीएसएस फ़ाइलों की निर्देशिका को मिडलवेयर एक्सप्रेस में बनाया। स्थिर

     var express = require('express'); var app = express(); /*public is folder in my project directory contains three folders css,image,js */ //css =>folder contains css file //image=>folder contains images //js =>folder contains javascript files app.use(express.static( 'public/css')); 
  2. सीएसएस फ़ाइलों या छवियों तक पहुंचने के लिए यूआरएल में टाइप करें http: // localhost: port / filename.css ex: http: // localhost: 8081 / bootstrap.css

ध्यान दें: html पर सीएसएस फ़ाइलों को लिंक करने के लिए बस <link href="file_name.css" rel="stylesheet"> टाइप <link href="file_name.css" rel="stylesheet">

अगर मैं यह कोड लिखूंगा

 var express = require('express'); var app = express(); app.use('/css',express.static( 'public/css')); 

स्थैतिक फ़ाइलों तक पहुंचने के लिए यूआरएल में टाइप करें: लोकलहोस्ट: पोर्ट / सीएसएस / फाइलनाम सीएसएस पूर्व: http: // स्थानीयहोस्टः 8081 / सीएसएस / बूटस्ट्रैप

HTML के साथ सीएसएस फ़ाइलों को लिंक करने के लिए ध्यान दें बस निम्नलिखित पंक्ति जोड़ें

 <link href="css/file_name.css" rel="stylesheet"> 

मेरे लिए यह काम:

 app.use('*/css',express.static('public/css')); app.use('*/js',express.static('public/js')); app.use('*/images',express.static('public/images')); 

मैंने अपनी सीएसएस फाइल पाई और इसके लिए एक मार्ग जोड़ा।

 app.get('/css/MyCSS.css', function(req, res){ res.sendFile(__dirname + '/public/css/MyCSS.css'); }); 

फिर यह काम करने लगता है

इसे http: // localhost: 3001 / default.css के साथ एक्सेस करने का प्रयास करें।

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

आप वास्तव में इसे फ़ोल्डर का नाम देते हैं, अर्थात् शैलियाँ नहीं, आपके उपरिल

मेरे लिए क्या काम है:

app.use(express.static(__dirname + 'public/images')); लिखने के बजाय app.use(express.static(__dirname + 'public/images')); अपने app.js में

बस app.use(express.static('public/images')); लिखें। app.use(express.static('public/images'));

यानी रूट निर्देशिका नाम को पथ में निकालें। और फिर आप अन्य जेएस फ़ाइलों में प्रभावी ढंग से स्थिर पथ का उपयोग कर सकते हैं, उदाहरण के लिए:

 <img src="/images/misc/background.jpg"> 

उम्मीद है की यह मदद करेगा 🙂

मैं अपने आवेदन में बूटस्ट्रैप सीएसएस, जेएस और फ़ॉन्ट का उपयोग कर रहा हूं। मैंने एप के रूट डायरेक्ट्री में asset नामक एक फ़ोल्डर बनाया है और इसके अंदर इन सभी फ़ोल्डर को रख दिया है। फिर सर्वर फ़ाइल में निम्न पंक्ति जोड़ा गया है:

 app.use("/asset",express.static("asset")); 

यह पंक्ति मुझे उन asset को लोड करने में सक्षम बनाती है जो /asset पथ उपसर्ग से asset निर्देशिका में हैं जैसे: http://localhost:3000/asset/css/bootstrap.min.css

अब विचारों में मैं बस नीचे सीएसएस और जेएस को शामिल कर सकता हूँ:

 <link href="/asset/css/bootstrap.min.css" rel="stylesheet"> 

यह एक मेरे लिए काम किया

 app.use(express.static(path.join(__dirname, 'public'))); app.use('/img',express.static(path.join(__dirname, 'public/images'))); app.use('/shopping-cart/javascripts',express.static(path.join(__dirname, 'public/javascripts'))); app.use('/shopping-cart/stylesheets',express.static(path.join(__dirname, 'public/stylesheets'))); app.use('/user/stylesheets',express.static(path.join(__dirname, 'public/stylesheets'))); app.use('/user/javascripts',express.static(path.join(__dirname, 'public/javascripts'))); 

उपरोक्त के अतिरिक्त, सुनिश्चित करें कि स्थैतिक फ़ाइल पथ / (ex … / assets / css) से शुरू होता है … मुख्य निर्देशिका (/ मुख्य) के ऊपर किसी भी निर्देशिका में स्थिर फ़ाइलों को सेवा देने के लिए