Tengo el siguiente server.js en marcha: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');
});
});
servidor express.static simple para los archivos de una subcarpeta/pública, además de socket.io funcionalidad. Con esta configuración, cualquier solicitud para el archivo '' socket.io.js falla, es decir,
http://localhost:58000/socket.io/socket.io.js
devuelve un error 404 (archivo no encontrado). El servidor de archivos estáticos funciona correctamente. Si simplemente uso el módulo 'http' en lugar de 'express' (comentando las líneas express.static y express.logger) socket.io.js se sirve correctamente. ¿Cómo puedo combinar ambas funcionalidades?
[email protected] puede no haber sido una buena idea ... trabajando ahora – daaanipm
Oh, de hecho, hay algunos grandes problemas con Express @ 3, por el momento, sobre todo en el router y middleware, que están trabajando en eso. Debe limitarse a la versión estable (actual es @ 2.5.9), si no planea fork express.js – Tronix117