NodeJS

2011-09-03 29 views
6

कई पृष्ठों की मेजबानी तो मैं http://localhost:8080/NodeJS

पर मेरे ऐप मैं कैसे http://localhost:8080/subpage हो सकता है? क्योंकि यह किसी भी पेज की तरह लगता है जो हिट करता है: 8080 server.js

धन्यवाद! -

** संपादित करें यहाँ क्या मेरे लिए काम किया है (धन्यवाद को stewe केजवाब) **

var app = require('http').createServer(createServer); 
var fs = require('fs'); 
var url = require('url'); 

function createServer(req, res) { 
    var path = url.parse(req.url).pathname; 
    var fsCallback = function(error, data) { 
     if(error) throw error; 

     res.writeHead(200); 
     res.write(data); 
     res.end(); 
    } 

    switch(path) { 
     case '/subpage': 
      doc = fs.readFile(__dirname + '/subpage.html', fsCallback); 
     break; 
     default: 
      doc = fs.readFile(__dirname + '/index.html', fsCallback); 
     break; 
    } 
} 

app.listen(8080); 
+2

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

+0

@ ब्रैंडन, मुझे नहीं लगता कि यह एक बुरा सवाल है। मैं अनुमान लगा रहा हूं कि ओपी यह पता लगाने की कोशिश कर रहा है कि नोड.जेएस क्या कर सकता है और नहीं कर सकता है। मैं इसे +1 नहीं कर रहा हूं क्योंकि, हाँ, वह इसके लिए गुगल हो सकता था। – Malvolio

+2

@ हर कोई - मैंने इस उत्तर को खोजने के लिए लगभग एक घंटा "शोध" (Google का उपयोग करके) बिताया। मुझे कुछ भी नहीं मिला जिसने इस जवाब को दूर कर दिया ताकि मैं अपने अंतिम उपाय में चले गए जो एसओएफ था। मुझे यहां प्रश्न पूछना पसंद नहीं है जब तक कि मुझे लगता है कि मुझे जवाब खोजने में मुश्किल हो रही है। साथ ही, ध्यान रखें कि मैंने यह प्रश्न सरल रखा है ताकि यह एक आसान पठन हो। किसी ऐसे चीज के लिए जटिल सवाल क्यों करें जिसके पास सबसे जटिल समस्या नहीं है? शायद हल्की अज्ञानता "बंद" बटन को दबाकर किसी के द्वारा स्वयं को प्रकट करती है .. – Jacksonkr

उत्तर

6

यहाँ एक शुरुआत है:

var http=require('http'); 
var url=require('url'); 

var server=http.createServer(function(req,res){ 
    var pathname=url.parse(req.url).pathname; 
    switch(pathname){ 
     case '/subpage': 
      res.end('subpage'); 
     break; 
     default: 
      res.end('default'); 
     break; 
    } 

}).listen(8080); 
+0

आह, यह होना चाहिए कि 'rs.readfile (__ dirname +'/index.html 'क्यों आती है। अद्भुत। मैं इसे अपने साथ जोड़ दूंगा एक बार यह काम कर रहा है। धन्यवाद! – Jacksonkr

4

मैं एक ही समस्या के रूप में हिट आपने किया, और मुझे लगता है कि हम दोनों जो खोज रहे थे वह मूल रूप से रूटिंग इंजन node.js. के लिए है। असल में, ठीक है, मुझे नोडजेस के लिए हैलो-वर्ल्ड उदाहरण मिलता है, लेकिन मैं कुछ ऐसे अनुरोध कैसे बना सकता हूं जो विभिन्न अनुरोधों का जवाब दे?

भविष्य के उपयोगकर्ताओं के लिए जो Google के माध्यम से इस पृष्ठ पर उतरते हैं, आपको Express.js पर ध्यान देना चाहिए और Understanding Express.js में इस उत्कृष्ट मार्गदर्शिका और परिचय को देखना चाहिए। ये दोनों समस्या को हल करेंगे

+2

Express.js को समझने के लिए आपका लिंक विफल रहता है। लिंक पर "-जेएस" निकालें या यहां जाएं: http://evanhahn.com/understanding-express/ – NuclearPeon

+0

फिक्स्ड - धन्यवाद! –