[size=18px][size=16px]大家好,我是Node.js新手,请教大神。
我按照《Nodejs实战》中第一张的案例编写代码,代码检查了几次,node也装了最新版本,运行server.js 的时候,但还是出现以下错误。C:\Users\Administrator\Desktop\chatrooms>node server.js
C:\Users\Administrator\Desktop\chatrooms\node_modules\socket.io\lib\store.js:35
Store.prototype.__proto__ = EventEmitter.prototype;
                                        ^TypeError: Cannot read property 'prototype' of undefined
    at Object.<anonymous> (C:\Users\Administrator\Desktop\chatrooms\node_modules\socket.io\lib\store.js:35:41)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (C:\Users\Administrator\Desktop\chatrooms\node_modules\socket.io\lib\manager.js:16:13)
    at Module._compile (module.js:571:32)提示是不能运行prototype,我贴一下关于prototype的代码吧。var Chat = function(socket) {
this.socket = socket;
};//添加发送聊天消息的函数
Chat.prototype.sendMessage = function(room, text) {
var message = {
room: room,
text: text
};
this.socket.emit('message', message);
};//变更房间的函数
Chat.prototype.changeRoom = function(room) {
this.socket.emit('join', {
newRoom: room
});
};//处理聊天命令
Chat.prototype.processCommand = function(command) {
var words = command.split(' ');
var command = words[0]
.substring(1, words[0].length)
.toLowerCase();
var message = false; switch(command) {
case 'join':
  words.shift();
  var room = words.join(' ');
  this.changeRoom(room);
  break; case 'nick':
  words.shift();
  var name = words.join(' ');
  this.socket.emit('nameAttempt', name);
  break; default:
  message = 'Unrecognized command.';
  break;
} return message;
};
谢谢你的回答。

解决方案 »

  1.   

    C:\Users\Administrator\Desktop\chatrooms>node server.js
    C:\Users\Administrator\Desktop\chatrooms\node_modules\socket.io\lib\store.js:35
    Store.prototype.__proto__ = EventEmitter.prototype;看日志是story错啊
      

  2.   

    我直接用npm下载的storejs文件,这都会错?
    还是因为我用的版本太新了,有bug?
      

  3.   

    是版本兼容问题,安装nodejs版本维护工具 n,n lts更新为Lts版本,问题就解决了
      

  4.   

    更新socket.io到最新版本能解决