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

时间:2014-07-20 15:51:51

标签: 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);

接下来需要的是:

http.use(app.static(__dirname + "/public"));

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

谢谢:)

1 个答案:

答案 0 :(得分:6)

试试这个:

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,而不是为网页提供服务。