是否可以将http.Server
对象作为中间件附加到快速Router?我有一个生成原始http.Server
的外部库,但由于我还使用了快速Web服务器,因此我需要将原始http.Server
内的应用程序逻辑集成到express中。有没有办法做什么,即组合/合并两个服务器的应用程序逻辑?
我已经尝试了app.use
功能,但显然表达不支持http.Server
开箱即用。
答案 0 :(得分:1)
来自github:
创建一个http服务器来提供该torrent的内容,并动态获取所需的torrent文件以满足http请求。支持范围请求。
torrent.createServer([opts])
示例:
var client = new WebTorrent()
client.add(magnet_uri, function (torrent) {
// create HTTP server for this torrent
var server = torrent.createServer()
server.listen(port) // start the server listening to a port
// visit http://localhost:<port>/ to see a list of files
// access individual files at http://localhost:<port>/<index> where index
is the index
// in the torrent.files array
// later, cleanup...
server.close()
client.destroy()
})
返回http.Server实例(从调用http.createServer获得)。如果指定了opts,则将其传递给http.createServer函数。
访问服务器的根目录/将显示单个文件的链接列表。访问 /处的单个文件,torrent.files数组中的索引在哪里 (例如/ 0,/ 1等)
我通常将此设置与cors一起使用:
在文档中:“ CORS是一个node.js软件包,用于提供可用于通过各种选项启用CORS的Connect / Express中间件。”
app.js
var express = require('express');
var cors = require('cors');
var app = express();
var port = 3000;
var router = express.Router();
app.use(cors({ origin: 'http://localhost:4200' }));
app.listen(port, () => console.log(`Node's Express is listening on Port ${port}..`));
答案 1 :(得分:0)
我用这个
const expressServer = express();
const httpServer = http.createServer();
httpServer.on("request", expressServer);
替代:
const expressServer = express();
const httpServer = http.createServer(expressServer);
:-)