gpt4 book ai didi

node.js - Express.js - app.listen 与 server.listen

转载 作者:IT老高 更新时间:2023-10-28 21:44:34 31 4
gpt4 key购买 nike

这可能是一个非常基本的问题,但我就是不明白。使用 Express.js 创建应用和启动应用监听 1234 端口有什么区别,例如:

var express = require('express');
var app = express();

//app.configure, app.use etc

app.listen(1234);

并添加一个 http 服务器:

var express = require('express');
var http = require('http');

var app = express();
var server = http.createServer(app);

//app.configure, app.use etc

server.listen(1234);

有什么区别?
如果我导航到 http://localhost:1234,我会得到相同的输出。

最佳答案

第二种形式(自己创建一个 HTTP 服务器,而不是让 Express 为您创建一个)如果您想重用 HTTP 服务器,例如在同一服务器中运行 socket.io,则很有用HTTP 服务器实例:

var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
...
server.listen(1234);

但是,app.listen() 也返回 HTTP 服务器实例,因此通过一些重写,您可以在不自己创建 HTTP 服务器的情况下实现类似的功能:

var express   = require('express');
var app = express();

// app.use/routes/etc...

var server = app.listen(3033);
var io = require('socket.io').listen(server);

io.sockets.on('connection', function (socket) {
...
});

关于node.js - Express.js - app.listen 与 server.listen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17696801/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com