读取一个文件并输出到http

如何将这些脚本join到脚本中,因为我所做的操作不起作用。 我认为这是callback,我正在搞砸。

有了这个代码,我可以输出文本到我的浏览器。

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/'); 

有了这个代码,我可以读取一个文本文件并将其logging到控制台。

 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/'); 

您需要在readFile完成后返回您的响应。 通过在readFile的完成callback中写入响应来完成这个任务

 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');