读取文件并输出到http

时间:2014-04-06 17:35:01

标签: node.js

如何将脚本加入到脚本中,因为我所做的不起作用。我认为这是我搞砸了的回调。

使用此代码,我可以将文本输出到浏览器。

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 个答案:

答案 0 :(得分: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');