Задать вопрос
@wtpltd

Как правильно реализовать запуск Koa с предварительной инициализацией приложения?

Перед запуском приложения Koa (что, должно быть не столь принципиально) мне хочется инициализировать окружение в котором приложение будет работать. Например, создать дефолтного пользователя, настроить БД, проверить необходимые каталоги и всякое такое. Например так:
(async () => {
  await Promise.all([createDefaultUser()]); // тут всякое инициализирующее
})()
  .then(() => {
    logger.info(`Start serve on ${config.appHost}:${config.appPort}`);
    const server = app.listen(config.appPort, config.appHost);
  })
  .catch(err => {
    logger.error(`App initialization error: ${err}`);
  });


Однако, мне еще требуется экспортировать server:
module.exports = server; // надо для нужд тестирования


И вот тут ступор - либо я могу инициализировать приложение до запуска сервера, но тогда не могу экспортировать, либо могу экспортировать сервер, но тогда болт на инициализацию до запуска.

Как такое правильно делается?
Спасибо.
  • Вопрос задан
  • 41 просмотр
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы