Ich habe den Lauf server.js folgenden: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');
});
});
Einfache express.static Server für Dateien in einem/public Unterordner sowie Socket.io Funktionalität. Mit diesem Aufbau kann jede Anforderung für die Datei ‚socket.io.js‘ ausfällt, das heißt
http://localhost:58000/socket.io/socket.io.js
gibt einen Fehler 404 (Datei nicht gefunden). Der statische Dateiserver funktioniert ordnungsgemäß. Wenn ich einfach das Modul 'http' anstelle von 'express' verwende (expression.static und express.logger Zeilen auskommentieren), wird socket.io.js korrekt bedient. Wie kann ich beide Funktionalitäten kombinieren?
[email protected] kann keine gute Idee gewesen ... arbeiten jetzt – daaanipm
Oh, in der Tat gibt es einige große Probleme mit Express @ 3 für den Augenblick, in erster Linie auf dem Router und Middleware, sie arbeiten daran. Sie sollten sich auf eine stabile Version beschränken (aktuell ist @ 2.5.9), wenn Sie nicht vorhaben express.js zu forcieren – Tronix117