Тайм-аут порта, использующий приложение Loopback для Heroku

Я развернул приложение Loopback для Heroku, но он продолжает сбой с ошибкой

Web process failed to bind to $PORT within 60 seconds of launch

Я знаю, что он может быть подключен к динамическому порту Heroku, поэтому я устанавливаю свой порт в среду процесса, в которой выполняется

app.start = function () {
  // start the web server

  var port = process.env.PORT || 3000;

  app.set('port', port);

  app.use(loopback.static(path.resolve(__dirname, '../client')));
  app.use(loopback.static(path.resolve(__dirname, '../.tmp')));

  return app.listen(function () {
    app.emit('started');
    console.log('Web server listening at: %s', app.get('url'));
  });
};

но это не решило проблему.
Любая идея?

Ответ 1

Вы можете заставить Heroku использовать предоставленный порт, изменив код, указанный в документации. Если вы не можете относиться к api docs, не беспокойтесь об этом, потому что javascript является гибким.

app.start = function () {
  // start the web server

  var port = process.env.PORT || 3000;

  app.use(loopback.static(path.resolve(__dirname, '../client')));
  app.use(loopback.static(path.resolve(__dirname, '../.tmp')));

  return app.listen(port, function () {
    app.emit('started');
    console.log('Web server listening at: %s', app.get('url'));
  });
};