"Cannot GET /" - развернуть проект Node.js на Heroku - PullRequest
0 голосов
/ 12 апреля 2020

Я создал простое приложение, чтобы узнать несколько вещей о node.js. На моем localhost он работает так, как задумано, без ошибок.

Когда я пытался закачать sh проект на heroku, я получаю следующую ошибку (при запуске heroku logs):

2020-04-12T10:37:36.270547+00:00 heroku[router]: at=info method=GET path="/" 
host=myproject.herokuapp.com request_id=4d9d211f-cb87-473e-8149-a827b407336d fwd="83.135.100.19" 
dyno=web.1 connect=0ms service=10ms status=404 bytes=360 protocol=https

Мой сервер выглядит следующим образом

app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.static(path.resolve('./public')));
app.use(cookieParser());

app.use('/', routes);

app.listen(process.env.PORT, () => {
  console.log(`Server is listening on port ${process.env.PORT}`);
})

Файл маршрутов (под routes/index.js) выглядит следующим образом

const router = require('express').Router();
const newsController = require('../controllers/newsController');
const quotesCookie = require('./../middleware/quotesCookie');

router.get('/', quotesCookie, newsController.renderHome);
router.get('/category/:category/:page', newsController.renderCategory);
router.get('/search',  newsController.renderSearch);
router.get('/sources', newsController.renderSources);
router.get('/*', newsController.renderError);

module.exports = router;

Я установил config vars на панели управления heroku на переменные моего .env -файла, поэтому я понятия не имею, почему это не работает. Моя папка public содержит только некоторые изображения c, поэтому я добавил ее к git и не проигнорировал ее. Журналы только показывают вышеуказанную ошибку.

Я думаю, это как всегда, и я упускаю что-то очевидное. У кого-нибудь есть идея? Заранее спасибо.

1 Ответ

0 голосов
/ 12 апреля 2020

Я вижу кавычки промежуточного программного обеспечения Cookies на вашем маршруте. Пожалуйста, попробуйте удалить его и используйте следующую строку

router.get('/', newsController.renderHome);`

Надеюсь, это сработает. Вы можете сделать больше проверки, проверив коды в функции контроллера newsController.renderHome и поместив несколько console.log (), чтобы увидеть, что именно он делает, и можете использовать heroku logs --tail, чтобы увидеть, что поступает.

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