使用Node.js和Socket.IO提供静态文件

dnm*_*nmh 2 javascript node.js socket.io

虽然我已经在SO和网上浏览了一些答案,但我找不到我想要的东西.我也是Node.js中的新手,所以也许这就是问题所在.

这是启动Node和Socket.IO所需的代码:

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
Run Code Online (Sandbox Code Playgroud)

我接下来需要的是这样的事情:

http.use(app.static(__dirname + "/public"));
Run Code Online (Sandbox Code Playgroud)

"app没有方法'静态'"是我的问题.我尝试了几个其他的组合,以获得我在网上读到的有关包括静态css和js以及向Socket.IO提供httpServer实例的内容.

谢谢 :)

Ave*_*ery 6

试试这个:

var express = require('express');
var path = require('path');
var app = express();
app.use(express.static(path.join(__dirname, 'public')));
Run Code Online (Sandbox Code Playgroud)

express.static是你正在寻找的方法,不是app.static,虽然它们看起来是相同的.

另外,请参阅示例,了解使用socket.io和express的应用程序示例.请注意,他们仅使用http服务器socket.io,而不是为网页提供服务.