TypeError:require(…)不是节点js中的函数

我试图学习节点js和尝试几个示例代码,当我碰到socket.io网站,我尝试在他们的网站示例代码。 我不认为他们的网站上写的代码将是错误的。 我在运行代码时遇到的错误,我不知道如何解决,我不知道我做错了什么。 我对node js很新,请帮帮我。 这是我采取代码的网站的链接。

这是我试图运行的代码。

var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/', function(req, res){ res.sendfile('index.html'); }); io.on('connection', function(socket){ console.log('a user connected'); }); http.listen(3000, function(){ console.log('listening on *:3000'); }); 

而我运行代码时得到的错误是

 var io = require('socket.io')(http); ^ TypeError: require(...) is not a function at Object.<anonymous> (/home/ubuntu/workspace/index.js:3:30) at Module._compile (module.js:434:26) at Object.Module._extensions..js (module.js:452:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.runMain [as _onTimeout] (module.js:475:10) at Timer.listOnTimeout (timers.js:89:15) 

像@venogopal所说的,问题可能是socket.io的版本:

对于0.9.x

 var io = require('socket.io')(http); 

对于1.xx

 var io = require('socket.io').listen(http);