2014-07-01 18 views
7

का उपयोग कर एक सरल एचटीएमएल सर्वर कैसे बनाया जाए, मैं node.js में नया हूं, मैं एक साधारण express.js स्थिर फ़ाइल सर्वर बनाना चाहता हूं, लेकिन मेरे पास कुछ समस्याएं हैं। मैं स्थापित किया गया है express.js विश्व स्तर पर इस तरह 4.2:एक्सप्रेस जेएस

npm install -g express-generator 

मैं httpsrv.js में इस कोड है:

var http = require('http'); 
var express = require('express'); 
var app = express(); 

app.use('/', express.static(__dirname + '/public')); 
app.listen(3000, function() { console.log('listening')}); 

मुझे यकीन है कि नहीं कर रहा हूँ यह मुझे लगता है कि यह पर्याप्त नहीं है ठीक है , लेकिन मैं इसे चला नहीं सकता यह त्रुटि के साथ विफल रहा है: मॉड्यूल 'एक्सप्रेस' नहीं मिल सकता है।

मैं एक साधारण http सर्वर बनाना चाहता हूं जो विशिष्ट फ़ोल्डर ("\ public" उदा।) से सेवा कर सकता है और मैं .html भाषा का उपयोग कर रहा हूं। मैंने इंटरनेट पर कई बकवास पाया, मैं इस .jade चीज़ का उपयोग नहीं करना चाहता हूं और मैं एक्सप्रेस आदि के साथ एक खाली वेब ऐप नहीं बनाना चाहता हूं। मुझे express.js http सर्वर चाहिए जो अपाचे और कैन की तरह काम कर सकता है एक निर्दिष्ट फ़ोल्डर से पहले एक स्थिर एचटीएमएल पेजों की सेवा करें। क्या कोई इस पर मेरी सहायता कर सकता है, एक अच्छा लेख सुझाएं जो एक कदम दर कदम बताता है, क्योंकि मैं शुरुआत कर रहा हूं।

+2

क्या आपने यहां दिए गए चरणों का पालन किया है: http://expressjs.com/guide.html –

+1

मुझे नहीं लगता कि एक्सप्रेस-जेनरेटर जो आपको स्थापित करने की आवश्यकता है, आपको एनपीएम इंस्टॉल-जी एक्सप्रेस चलाने चाहिए, और लोड करने का प्रयास करना चाहिए यह। –

+0

मैंने एक्सप्रेस 4.2 भी स्थापित किया है, लेकिन मुझे एक्सप्रेस 4.x को पढ़ा गया है, इस एक्सप्रेस-जनरेटर को भी चाहिए। – Zsoca

उत्तर

18

तुम सिर्फ एक निर्देशिका "सार्वजनिक" कहा जाता है से स्थिर फ़ाइलों की सेवा के लिए कोशिश कर रहे हैं, तो आप इस तरह एक app के साथ भाग्य हो सकता है:

var path = require('path'); 
var express = require('express'); 

var app = express(); 

var staticPath = path.join(__dirname, '/public'); 
app.use(express.static(staticPath)); 

app.listen(3000, function() { 
    console.log('listening'); 
}); 

तुम्हें यकीन एक्सप्रेस स्थापित किया गया है बनाने की आवश्यकता होगी। आप शायद उपरोक्त जावास्क्रिप्ट फ़ाइल के समान निर्देशिका में npm install express --save चलाएंगे। एक बार जब आप तैयार हों, तो आप अपना सर्वर शुरू करने के लिए node the_name_of_the_file_above.js चलाएंगे।

+2

अब यह लगभग अच्छा है, लेकिन जब मैं सर्वर शुरू करता हूं और ब्राउज़र में देखने का प्रयास करता हूं, तो मुझे यह संदेश मिलता है: "प्राप्त नहीं हो सकता /"। मुझे लगता है कि यह केवल कुछ पथ समस्या है। मेरी जावास्क्रिप्ट सर्वर फ़ाइल उसी "/ public" निर्देशिका में रखी गई है जिसे मैं सेवा देना चाहता हूं, यह एक समस्या है? – Zsoca

+1

इसे 'path.join (__ dirname,'/public ') में बदलें' – Dan

+0

https और http दोनों पर ऐप कैसे चलाएं? –

6

पहले एक्सप्रेस-जनरेटर के व्यक्त मॉड्यूल बावजूद

npm install express 

स्थापित इस को हटाने सार्वजनिक

var express = require('express'); 
var app = express(); 

app.use('/', express.static(__dirname)); 
app.listen(3000, function() { console.log('listening')}); 

यह काम कर रहा है ठीक प्रयास करें।

0

इस समस्या को किसी भी कोड या ढांचे की आवश्यकता नहीं है; npm से http सर्वर स्थापित करें, कमांड प्रॉम्प्ट में फ़ोल्डर में नेविगेट और इस कमांड चलाएँ:

http-server 

और यह एक हल्के http सर्वर की स्पिन और फ़ोल्डर तुरंत जो का उपयोग कर देखी जा सकती है से स्थिर सामग्री तक प्रस्तुत कर देगा http://localhost

+0

आप इस सवाल का जवाब भी नहीं दे रहे हैं। – gaitat

+0

उसकी आवश्यकता एक फ़ोल्डर से स्थिर पृष्ठों की सेवा के लिए एक सरल सर्वर स्थापित करना था; यह पैकेज बिल्कुल ठीक है। इस उद्देश्य के लिए आपको एक्सप्रेस जैसे ढांचे का उपयोग करने की आवश्यकता नहीं है। – garryp

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