Tôi có chạy sau 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');
});
});
Simple express.static máy chủ cho các tập tin trong một/thư mục con nào, cộng với socket.io chức năng. Với thiết lập này, bất kỳ yêu cầu các tập tin 'socket.io.js' thất bại, ví dụ:
http://localhost:58000/socket.io/socket.io.js
trả về một lỗi 404 (không tìm thấy tệp). Máy chủ tệp tĩnh hoạt động chính xác. Nếu tôi chỉ đơn giản sử dụng mô đun 'http' thay vì 'express' (bình luận ra dòng express.static và express.logger) socket.io.js được phân phát đúng. Làm thế nào tôi có thể kết hợp cả hai chức năng?
[email protected] có thể không phải là một ý tưởng tốt ... làm việc tại – daaanipm
Oh, trên thực tế, có một số rắc rối lớn với tốc @ 3 cho thời điểm này, chủ yếu là trên router và middlewares, họ đang làm việc trên đó. Bạn nên giới hạn bản thân với phiên bản ổn định (hiện tại là @ 2.5.9), nếu bạn không có kế hoạch để fork express.js – Tronix117