TypeError: require(...) is not a function in node js

TypeError: require(...) is not a function in node js

我正在尝试学习 node js 并尝试了一些示例代码,当我遇到 socket.io 网站时,我尝试了他们网站中的示例代码。我认为他们网站上写的代码不会错。我在 运行 编写代码时遇到的错误,我不知道如何解决,我不知道我哪里做错了。我对 node js 很陌生,请帮助我。这是 link 的 website 我拿了代码。

这是我正在尝试的代码 运行。

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.x.x:

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