2011-10-06 7 views
7

मैं nodetuts.com के एपिसोड 3 का पालन करने का प्रयास कर रहा हूं। इसके अलावा, मैं नोड - node.exe, संस्करण 0.5.2 के नवीनतम (अस्थिर) संस्करण का उपयोग कर रहा हूं। यहां मेरा कोड है, मैं इस त्रुटि के साथ व्यावहारिक रूप से पूरे दिन दीवार के खिलाफ अपना सिर मार रहा हूं। क्या यह सिर्फ एक खिड़कियां है?Node.js - fs.stat ENOENT फेंकता है ऑपरेशन सफलतापूर्वक पूरा हुआ

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

var file_path = __dirname + '\\me.jpg'; 
console.log('serving: '+file_path); 
fs.stat(file_path, function(err, stat){ 

    if (err) throw err; 

    http.createServer(function(request,response){ 

     response.writeHead(200, { 
     'Content-Type':'image/jpeg' 
     }); 

     fs.readFile(file_path, function(err, file_content){ 

      response.write(file_content); 
      response.end(); 
     }); 

    }).listen(8000); 
}) 

धन्यवाद!

उत्तर

10

0.5.x विंडोज़ पर छोटी है। आप

fs.readFile(__dirname + '/file.txt', callback); 

मुझे विश्वास है कि 0.6 इन समस्याओं को ठीक करेगा। :)

+0

'कॉलबैक' के बजाय, मुझे कॉलबैक फ़ंक्शन में रखना चाहिए (इसे एक var से संलग्न नहीं करें) सही? मुझे लगता है कि मैंने यह गलत किया है और परिणाम अभी भी वही हैं ... धन्यवाद। – RHH

+0

समस्या आपके कोड और न ही कुछ वाक्यविन्यास है। समस्या'fs 'के भीतर निहित है और वास्तव में नेटवर्क कोड में भी गहरी है। हमें 0.6 संस्करण के लिए प्रतीक्षा करने की आवश्यकता है या आप ऊपर दिखाए गए '__dirname' का उपयोग करके इसे काम करने के लिए प्राप्त कर सकते हैं। – Tower

+0

0.6 अभी भी समस्या है। मेरे पास एनपीएम (विंडोज) के साथ एक्सप्रेसज स्थापित करते समय था। –

0

अब आपको नोड v0.5.x का उपयोग करने से बचना चाहिए क्योंकि इसे अस्थिर माना जाता है। v0.4.x का उपयोग करें। यदि आपने नोड को पकड़ने के लिए गिट का उपयोग किया है, तो यह करें:

cd /path/to/your/local/node/git 
git checkout v0.4.12 
make && sudo make install 
+0

कुछ कारणों से बस ... कुछ भी नहीं करता है। यह लगभग 3 घंटे के लिए मेरे सीपीयू का 50% उपयोग कर रहा है। जाओ पता लगाओ। (यही कारण है कि मैं .exe का उपयोग कर रहा हूं) – RHH

+1

@ ड्रेसेन्डे: वह विंडोज का उपयोग कर रहा है, नहीं * निक्स। – Tower

+0

हाँ .. मैंने देखा। विंडोज अभी भी छोटी है, आपको शायद .exe या संकलन का उपयोग करना चाहिए और साइगविन (याक!) पर उपयोग करना चाहिए। या 0.6 के लिए प्रतीक्षा करें जो जल्द ही बाहर आ जाएगा। – dresende

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