我如何使用Express 3.x从较低目录中提供文件?

编程入门 行业动态 更新时间:2024-10-07 13:24:17

我如何使用Express 3.x从<a href=https://www.elefans.com/category/jswz/34/1702466.html style=较低目录中提供文件?"/>

我如何使用Express 3.x从较低目录中提供文件?

This answer明确了如何从程序根目录以外的目录提供文件,如下所示:

var path = require('path');
var express = require('express');
var app = express();
app.use(express.static(path.join(__dirname, '../public')));

这很好。现在,我试图像这样设置一个socket.io服务器:

const express = require('express');
const server = express();
const io = require('socket.io')(server);

和socket.io抛出错误:

错误:您正在尝试将socket.io附加到快速请求处理函数。请传递一个http.Server实例。

这很有意义,因为现在在socket.io文档中,它要求这样的设置:

const app = require('express')();
const server = require('http').createServer(app);
const io = require('socket.io')(server);
io.on('connection', () => { /* … */ });
server.listen(3000);

但是我不知道如何使用这种新的设置express和socket.io的新方法来协调上面的答案所示的从较低目录中加载文件的旧方法,因为const app = require('express')();在套接字中。 io文档中,错误被抛出TypeError: app.static is not a function

如何将现在已经过时的快递路径路由与新的快递设置进行协调?

回答如下:

这是我在Express 3.x以前的方式。

var path = require('path');
var http = require('http');
var express = require('express');
var app = express();
app.use(express.static(path.join(__dirname, '../public')));
/* ... more routing logic, i.e app.get(...)*/
var server = http.createServer(app);
var io = require('socket.io')(server);
io.on('connection', () => {/* ... */});
server.listen(3000);

希望有帮助

更多推荐

我如何使用Express 3.x从较低目录中提供文件?

本文发布于:2024-05-07 15:12:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756863.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:较低   如何使用   文件   目录中   Express

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!