Какова цель запуска кода запуска node.js как asyn c и экспорта объекта сервера? - PullRequest
0 голосов
/ 01 августа 2020
const express = require('express')
const bodyParser = require('body-parser')
const { promisify } = require('util')

const app = express()
app.use(bodyParser.json())

const startServer = async () => {
  const port = process.env.SERVER_PORT || 3000
  await promisify(app.listen).bind(app)(port)
  console.log(`Listening on port ${port}`)
}

startServer()

module.exports = startServer;

Недавно я наткнулся на приведенный выше код, в котором мы видим две интересные вещи -

1.) Функция app.listen работает как asyn c, что не похоже на имеют цель на этом этапе, учитывая, что входящие соединения невозможны ... по крайней мере, пока сервер не загрузится, и

2.) оператор module.exports экспортирует сервер.

I ' Мы также видели, как люди делали это:

const port = process.env.PORT || 5000;
const server = app.listen(port, () => { 
        console.log('Server listening on port ${port} ...');
});

module.exports = server;

... что опять же не имеет для меня смысла.

Какова цель этих экспортов из основного приложения. js файл ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...