2014-04-06 63 views
1

如何將這些腳本合併爲一個文件,因爲我所做的工作都不起作用。我認爲這是我得到的回調。讀取文件並輸出到http

通過此代碼,我可以將文本輸出到我的瀏覽器。

var http = require('http'); 
http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(1337, '127.0.0.1'); 
console.log('Server running at http://127.0.0.1:1337/'); 

有了這個代碼,我能讀一個文本文件,它記錄到控制檯。

fs = require('fs') 
fs.readFile('/etc/hosts', 'utf8', function (err,data) { 
    if (err) { 
    return console.log(err); 
    } 
    console.log(data); 
}); 

但這不會一起工作,爲什麼????????????????? 感謝您的幫助。

var http = require('http'); 
    http.createServer(function (req, res) { 

     fs = require('fs') 
     fs.readFile('/etc/hosts', 'utf8', function (err,data) { 
     if (err) { 
      return console.log(err); 
     } 
     console.log(data); 
     res.writeHead(200, {'Content-Type': 'text/plain'}); 
     res.end('Hello World\n'); 
    }); 


    }).listen(1337, '127.0.0.1'); 
    console.log('Server running at http://127.0.0.1:1337/'); 

回答

1

您需要在readFile完成後返回您的回覆。您可以通過在readFile的完成回調中寫入響應來完成此操作。

http.createServer(function (req, res) { 

    fs.readFile('/etc/hosts', 'utf8', function (err,data) { 
     if (err) { 
      return console.log(err); 
     } 

     console.log(data); 
     res.writeHead(200, {'Content-Type': 'text/plain'}); 
     res.end(data); 
    }); 

}).listen(1337, '127.0.0.1'); 
相關問題