आमतौर पर, आप अपने किसी भी आंतरिक पथ को उजागर नहीं करना चाहते हैं कि आपका सर्वर बाहरी दुनिया में कैसे संरचित है। आप /scripts
अपने सर्वर में एक स्टैटिक रूट बना सकते हैं जो अपनी फाइलों को जिस भी डायरेक्टरी में होता है वहां से रहता है "./node_modules/bootstrap/dist/"
। फिर, आपके पृष्ठों का स्क्रिप्ट टैग इस तरह दिखता है:
<script src="/scripts/bootstrap.min.js"></script>
यदि आप नोड्ज के साथ एक्सप्रेस का उपयोग कर रहे थे, तो एक स्थैतिक मार्ग इस तरह सरल है:
app.use('/scripts', express.static(__dirname + '/node_modules/bootstrap/dist/'));
फिर, किसी भी ब्राउज़र अनुरोध /scripts/xxx.js
को स्वचालित रूप से आपकी dist
निर्देशिका से प्राप्त किया जाएगा __dirname + /node_modules/bootstrap/dist/xxx.js
।
नोट: एनपीएम के नए संस्करणों ने शीर्ष स्तर पर अधिक चीजें डालीं, इसलिए इतना गहरा घोंसला नहीं बनाया है कि यदि आप एनपीएम के नए संस्करण का उपयोग कर रहे हैं, तो ओपी के प्रश्न और वर्तमान उत्तर में संकेत दिए गए पथ के नाम अलग होंगे। लेकिन, अवधारणा अभी भी वही है। आपको पता चलता है कि फ़ाइलें आपके सर्वर ड्राइव पर भौतिक रूप से स्थित हैं और आप उन फ़ाइलों के लिए एक छद्म मार्ग बनाने के लिए एक app.use()
साथ express.static()
बनाते हैं ताकि आप क्लाइंट के लिए वास्तविक सर्वर फ़ाइल सिस्टम संगठन को उजागर नहीं कर रहे हैं।
यदि आप इस तरह से एक स्थिर मार्ग नहीं बनाना चाहते हैं, तो आप शायद सार्वजनिक स्क्रिप्ट को एक ऐसे मार्ग पर कॉपी करना बेहतर समझते हैं, जिसे आपका वेब सर्वर /scripts
या जो भी शीर्ष स्तर के पदनाम का उपयोग करना चाहता है, करता है। आमतौर पर, आप इस प्रतिलिपि को अपनी बिल्ड / परिनियोजन प्रक्रिया का हिस्सा बना सकते हैं।
यदि आप किसी निर्देशिका में केवल एक विशेष फ़ाइल को सार्वजनिक करना चाहते हैं और इसके साथ उस निर्देशिका में पाई जाने वाली प्रत्येक चीज़ नहीं है, तो आप मैन्युअल रूप से उपयोग के बजाय प्रत्येक फ़ाइल के लिए अलग-अलग मार्ग बना सकते हैं express.static()
:
<script src="/bootstrap.min.js"></script>
और उस के लिए एक मार्ग बनाने के लिए कोड
app.get('/bootstrap.min.js', function(req, res) {
res.sendFile(__dirname + '/node_modules/bootstrap/dist/bootstrap.min.js');
});
या, यदि आप अभी भी स्क्रिप्ट्स के लिए रूट डिलिनेट करना चाहते हैं, तो आप /scripts
ऐसा कर सकते हैं:
<script src="/scripts/bootstrap.min.js"></script>
और उस के लिए एक मार्ग बनाने के लिए कोड
app.get('/scripts/bootstrap.min.js', function(req, res) {
res.sendFile(__dirname + '/node_modules/bootstrap/dist/bootstrap.min.js');
});