gpt4 book ai didi

node.js - require ('express' )() 在 NodeJS 中做什么

转载 作者:太空宇宙 更新时间:2023-11-04 02:52:40 27 4
gpt4 key购买 nike

据我了解, require('express')() 不会创建服务器,它只是将功能捆绑在一起。但如果是这样,下面的代码如何在没有服务器的情况下运行?

const express = require('express')
const app = express()

app.get('/', function (req, res) {
res.send('Hello World!')
})

app.listen(3000, function () {
console.log('Example app listening on port 3000!')
})

另外,如果它确实创建了服务器,为什么我需要在下面的示例中导入 http 模块并手动创建服务器?

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});

io.on('connection', function(socket){
console.log('a user connected');
});

http.listen(3000, function(){
console.log('listening on *:3000');
});

我很困惑。提前致谢。

最佳答案

require('express')() 创建 Express 应用程序的实例。

它的缩写:

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

如果您想创建 HTTP 服务器,则无需显式使用 http,因为如果您调用 app.listen(),Express 会为您创建一个服务器。

如果您需要该服务器用于其他用途,例如附加 socket.io 实例,您可以使用以下命令:

var express = require('express');
var app = express();
var server = app.listen(3000, ...); // returns an `http.Server` instance
var io = require('socket.io')(server);

关于node.js - require ('express' )() 在 NodeJS 中做什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44384605/

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