运行Node.js,TypeError: Cannot read property 'prototype' of undefined

Cheongkin 2017-03-12 02:38:17
[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;
};


谢谢你的回答。
...全文
5443 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
windzson 2018-05-18
  • 打赏
  • 举报
回复
更新socket.io到最新版本能解决
lc1039781445 2017-04-24
  • 打赏
  • 举报
回复
楼主问题解决了吗?
czj_flyboy 2017-03-14
  • 打赏
  • 举报
回复
是版本兼容问题,安装nodejs版本维护工具 n,n lts更新为Lts版本,问题就解决了
Cheongkin 2017-03-13
  • 打赏
  • 举报
回复
我直接用npm下载的storejs文件,这都会错? 还是因为我用的版本太新了,有bug?
顾小林 2017-03-13
  • 打赏
  • 举报
回复
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错啊

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧