运行 server.js 时 NodeJS 需要错误
NodeJS require error when running the server.js
我运行在运行宁node server.js
时出现如下错误:
为什么 require
会抛出错误?我正在使用 Socket.IO,我在 server.js
中的代码如下所示:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var redis = require('redis');
server.listen(8890);
io.on('connection', function (socket) {
console.log("new client connected");
var redisClient = redis.createClient();
redisClient.subscribe('message');
redisClient.on("message", function(channel, message) {
console.log("mew message in queue "+ message + "channel");
socket.emit(channel, message);
});
socket.on('disconnect', function() {
redisClient.quit();
});
});
您的问题是您使用的是 Socket.io v0.8.1。您可以通过 至少安装 v1.0.0 来解决此问题。如果您没有 requirements/restraints 从以前的版本升级,我推荐最新的稳定版本。
require('io')(srv)
签名已在 v1.0.0 中发布。 Plus v0.8.1 可追溯到 2011 年;这是一段很长的时间,Node、Express 和 Socket.io.
发生了很大变化
这里有更多关于从 v0.9 及以下版本过渡到 v1.0.0+ 的信息:http://socket.io/docs/migrating-from-0-9/
在这里您可以找到 Socket.io 的版本历史记录:https://github.com/socketio/socket.io/blob/master/History.md
我运行在运行宁node server.js
时出现如下错误:
为什么 require
会抛出错误?我正在使用 Socket.IO,我在 server.js
中的代码如下所示:
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var redis = require('redis');
server.listen(8890);
io.on('connection', function (socket) {
console.log("new client connected");
var redisClient = redis.createClient();
redisClient.subscribe('message');
redisClient.on("message", function(channel, message) {
console.log("mew message in queue "+ message + "channel");
socket.emit(channel, message);
});
socket.on('disconnect', function() {
redisClient.quit();
});
});
您的问题是您使用的是 Socket.io v0.8.1。您可以通过 至少安装 v1.0.0 来解决此问题。如果您没有 requirements/restraints 从以前的版本升级,我推荐最新的稳定版本。
require('io')(srv)
签名已在 v1.0.0 中发布。 Plus v0.8.1 可追溯到 2011 年;这是一段很长的时间,Node、Express 和 Socket.io.
这里有更多关于从 v0.9 及以下版本过渡到 v1.0.0+ 的信息:http://socket.io/docs/migrating-from-0-9/
在这里您可以找到 Socket.io 的版本历史记录:https://github.com/socketio/socket.io/blob/master/History.md