Как я могу выдать ошибку при запуске сервера expressjs? - PullRequest
0 голосов
/ 26 июня 2019

Вот мой минимальный пример кода:

...

const url = typeof process.env.url === 'string' ? process.env.url : {do not start a server}
...
server.start(options, ({ port }) => console.log(`Server is running on http://localhost:${port}`));

Как я могу выдать ошибку (или просто распечатать что-нибудь) и избежать запуска сервера, если process.env.url не установлен (см. Пример кода).

Ответы [ 3 ]

0 голосов
/ 26 июня 2019
const url = typeof process.env.url === 'string' ? process.env.url : new Error("Error Message")
if(url instanceof Error) {
  throw url;
}
server.start(options, ({ port }) => console.log(`Server is running on http://localhost:${port}`));

Вы можете изменить Error Message на любое сообщение, которое вам нужно, и оно сломает сервер (с ошибкой)

Без ошибки

const url = typeof process.env.url === 'string' ? process.env.url : null
if(!url) {
   process.exit(0);
}
server.start(options, ({ port }) => console.log(`Server is running on http://localhost:${port}`));
0 голосов
/ 26 июня 2019

Достаточно простого условия:

const url = process.env.url || false
if(!url) {
   console.log('error..'); 
   process.exit(0)
}

...
0 голосов
/ 26 июня 2019

Вы можете просто выбросить ошибку и выйти из процесса:

function notValid() {
  throw new Error('The passed url is not valid!');
  process.exit()
}

const url = typeof process.env.url === 'string' ? process.env.url : notValid();

server.start(options, ({ port }) => console.log(`Server is running on http://localhost:${port}`));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...