在nodejs服务器上运行时找不到socket.io-client

时间:2013-03-30 07:18:17

标签: javascript jquery node.js express socket.io

使用npm在linux环境下清理安装节点,express,socket.io。我尝试从socket.io官方源代码中运行runsocket.io示例,我收到错误的socket.io-client模块在命令行中找不到。

我工作了几个小时来解决这个问题。但我没有发现任何消息。

错误:

module.js:337
    throw new Error("Cannot find module '" + request + "'");
          ^
Error: Cannot find module 'socket.io-client'
    at Function._resolveFilename (module.js:337:11)
    at Function._load (module.js:279:25)
    at Module.require (module.js:359:17)
    at require (module.js:375:17)
    at Object.<anonymous> (/home/rajuk/Documents/nodeSamples/node_modules/socket.io/lib/socket.io.js:12:14)
    at Module._compile (module.js:446:26)
    at Object..js (module.js:464:10)
    at Module.load (module.js:353:32)
    at Function._load (module.js:311:12)
    at Module.require (module.js:359:17)

socket.io安装结果

socket.io@0.9.14 /usr/local/lib/node_modules/socket.io 
├── base64id@0.1.0
├── policyfile@0.0.4
├── redis@0.7.3
└── socket.io-client@0.9.11

这是我的代码(app.js)

var app = require('express')()
  , server = require('http').createServer(app)
  , io = require('socket.io').listen(server);

server.listen(80);

app.get('/', function (req, res) {
  res.sendfile(__dirname + '/index.html');
});

io.sockets.on('connection', function (socket) {
  socket.emit('news', { hello: 'world' });
  socket.on('my other event', function (data) {
    console.log(data);
  });
});

和node_modules目录包含socket.ioexpress个包。

我正在尝试像这样运行服务器

$ node app.js

如何解决?

1 个答案:

答案 0 :(得分:0)

克隆这个git存款:https://github.com/yrezgui/socket.io-simple-demo

告诉我你是否还有错误。