Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Node.js提供静态文件&;Socket.IO_Javascript_Node.js_Socket.io - Fatal编程技术网

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

Javascript 使用Node.js提供静态文件&;Socket.IO,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,虽然我已经在这里和网上浏览了一些答案,但我没有找到我想要的。我也是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"))

虽然我已经在这里和网上浏览了一些答案,但我没有找到我想要的。我也是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"));
“应用程序没有‘静态’方法”是我的问题。我尝试了其他几种组合,以获得我在网上读到的关于包括静态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
,尽管它们看起来是相同的


另外,有关同时使用socket.io和express的应用程序的示例,请参见。请注意,他们仅将
http
服务器用于
socket.io
,不为网页提供服务。

尝试过,表示“express未定义”@dnmh尝试添加要求。现在有必要定义整个express模块,而不仅仅是启动部分(
app
):“路径未定义”@dnmh我需要停止假设需要-抱歉。尝试一下新的require语句。是的,就是这样:)非常感谢,现在我可以正常工作了:)