我有以下server.js运行:的node.js:socket.io VS express.static
module.exports = server;
var express = require('express');
var fs = require('fs');
var server = express.createServer();
var port = 58000;
server.listen(port);
var io = require('socket.io').listen(server);
server.use(express.static('/', __dirname + '/../public'));
server.use(express.logger());
io.on('connection', function(client){
console.log('new client connected ' + client);
client.on('message', function(){
console.log('client wants something');
});
});
简单的在/公共子目录文件express.static服务器,加上socket.io功能。使用此设置,对'socket.io.js'文件的任何请求都会失败,即
http://localhost:58000/socket.io/socket.io.js
返回404错误(未找到文件)。静态文件服务器正常工作。如果我只是简单地使用'http'模块而不是'express'(注释掉express.static和express.logger行),socket.io.js被正确地服务。我怎样才能结合这两种功能?
[email protected]可能不是个好主意......现在做什么工作的 – daaanipm 2012-04-19 16:01:27
呵呵,其实,有一个与快递一些大麻烦@ 3,主要是路由器和中间件上,他们正在努力。如果你不打算分叉express.js,你应该限制自己的稳定版本(当前是@ 2.5.9) – Tronix117 2012-04-19 16:08:36