虽然我已经在 SO 和网上浏览了一些答案,但我没有找到我要找的东西。我也是 Node.js 的新手,所以也许这就是问题所在。
这是启动 Node 和 Socket.IO 所需的代码:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
接下来我需要的是这样的:
http.use(app.static(__dirname + "/public"));
“app has no method 'static'”是我的问题。我尝试了其他几种组合来获得我在网上阅读的有关包括静态 css 和 js 以及将 httpServer 实例提供给 Socket.IO 的信息。
谢谢:)
最佳答案
试试这个:
var express = require('express');
var path = require('path');
var app = express();
app.use(express.static(path.join(__dirname, 'public')));
express.static
是您正在寻找的方法,而不是 app.static
,尽管它们看起来相同。
另请参阅 this有关同时使用 socket.io 和 express 的应用程序示例。请注意,他们仅将 http
服务器用于 socket.io
,而不是为网页提供服务。
关于javascript - 使用 Node.js 和 Socket.IO 提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24852222/