Node.js初学者 – 不能通过nodetuts教程编号2 – 标准输出和subprocess

我试图通过nodetuts.com教程- 教程2 ,不幸的是无法得到的例子工作,我是非常新的node.js和通过任何教程,我可以得到的。 据我所知,node.js仍然是testing版,我认为使这项工作的代码现在已经过时了。 (这是代码):

var http = require('http'); var spawn = require('child_process').spawn; http.createServer(function(request, response){ response.writeHead(200, { 'Content-Type' : 'text/plain' }); var tail_child = spawn('tail', ['-f', 'test.txt']); tail_child.stdout.on('data', function(data){ console.log(data.toString()); response.write(data); }); }).listen(4000); 

无论如何,决心继续我一直在查看节点网站上的文档,发现这个: http : //nodejs.org/api/all.html#all_child_pid这不完全是我想要的(我想完成该教程链接到顶部),但我想得到的东西与儿童过程工作todo并将此代码合并到此:

 var http = require('http'); var server = http.createServer(function(res, req){ res.writeHead(200); res.end('testing'); var spawn = require('child_process').spawn, grep = spawn('grep', ['ssh']); console.log('Spawned child pid: ' + grep.pid); grep.stdin.end(); }).listen(4000); 

不幸的是,当我刷新页面http://localhost:4000/我什么也得不到,命令提示符吐出来:(我知道它说writeHead是一个问题,但它在其他的例子中工作正常 – (像nodetuts – 教程1))

  res.writeHead(200); ^ TypeError: Object #<IncomingMessage> has no method 'writeHead' at Server.<anonymous> (Z:\Joseph Goss Folder\Google Drive\Code\javascript_first\nodejs_first\stdoutTest.js:20:6) at Server.EventEmitter.emit (events.js:91:17) at HTTPParser.parser.onIncoming (http.js:1785:12) at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:111:23) at Socket.socket.ondata (http.js:1682:22) at TCP.onread (net.js:404:27) 

我不知道为什么我不能得到这个工作,我明显失去了一些东西,但我不知道什么,我甚至不能得到过去教程编号2. 🙁

  • 我正在运行Windows 7
  • 我也看了这个代码为什么response.write似乎阻止我的浏览器在Node.js? 而他的代码也根本不起作用。

你在传递给createServer的函数中交换了reqres

 var http = require('http'); var server = http.createServer(function(req, res){ res.writeHead(200); res.end('testing'); var spawn = require('child_process').spawn, grep = spawn('grep', ['ssh']); console.log('Spawned child pid: ' + grep.pid); grep.stdin.end(); }).listen(4000);