Express:server.listen().为什么我必须定义已经定义的东西

  • 本文关键字:定义 listen server Express express
  • 更新时间 :
  • 英文 :


这里有一个关于Express.js.的问题

我注意到下面的代码不起作用:

require('dotenv').config();
const http = require('http');
const app = require('./app');
app.set('port', process.env.PORT);
const server = http.createServer(app);
server.listen();

为了使它发挥作用,我必须在server.listen((中添加一个参数:

server.listen(process.env.PORT);

但我不明白为什么,因为我已经声明了服务器使用应用程序,而应用程序是用一个设置为process.env.port的端口声明的。那么,为什么我必须再说一遍呢?我认为server.listen((应该足够了。

我是一个新手,我想有一些显而易见的东西,但现在,我不明白。

以下是app.js:的内容


const express = require('express');
const app = express();
app.use('/', (_,res) => {
const message = {
message: "Hello World!"
};
res.status(200).json(message);})
module.exports = app;

答案是:

在问题中提到的代码中,服务器没有设置两次。

混淆来自app.set((,它不是server.listen((.的等价物

App.set((定义了一个变量,我们可以用App.get((.调用它

最新更新