[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;
};
谢谢你的回答。
我按照《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;
};
谢谢你的回答。
C:\Users\Administrator\Desktop\chatrooms\node_modules\socket.io\lib\store.js:35
Store.prototype.__proto__ = EventEmitter.prototype;看日志是story错啊
还是因为我用的版本太新了,有bug?