У меня есть приложение MERN, которое я пытаюсь разместить на Heroku. Прямо сейчас приложение развертывается на Raspberry Pi, и там все работает нормально, но как только оно попадает в Heroku, все мои запросы API GET приводят к 404 ошибкам. Я могу получить интерфейс React, но больше ничего не работает. Часть Mongo размещена на уровне песочницы Atlas и помещена в белый список для принятия любых авторизованных соединений.
Вещи, которые я пробовал:
const axiosConfig = {
proxy:{
host: '127.0.0.1',
port: process.env.PORT || 3001
}
};
GET запросы в моем API приводят к 404 на Heroku со следующим сообщением об ошибке: xhr.js:173 GET https://builders-kit-0031.herokuapp.com/api/humidity 404 (Not Found)
.
Я аутентифицируюсь в Atlas с помощью файла ключей:
if(process.env.NODE_ENV === 'production'){
module.exports = require('./keys_prod');
} else {
module.exports = require('./keys_dev');
}
Этот файл извлекает следующий файл, в котором используются строки MONGO_URI и SECRET_OR_KEY, которые я установил в разделе конфигурации vars Heroku.
module.exports = {
mongoURI: process.env.MONGO_URI,
secretOrKey: process.env.SECRET_OR_KEY
};
Мой код настроен для обслуживания React через сервер Express (все вещи реагируют в папке /client
). В настоящее время я выполняю развертывание со скриптом пост-сборки Heroku, например:
Я думаю, что это все те самые горячие точки, которые я обнаружил с тех пор, как исследовал это здесь сегодня утром. Любой совет о том, что попробовать, будет принята с благодарностью. Вы можете проверить сломанную версию того, что я пытаюсь развернуть здесь . Рад опубликовать любые другие фрагменты кода, если это поможет отладке - не хотел публиковать все приложение. Заранее спасибо!