В прошлом месяце я заполнил приложение, над которым работал, как средство изучения стека MERN.
В проекте используется серверный узел / express для API-интерфейса crud для отслеживания контактов и интерфейс реакции для пользовательского интерфейса.
в процессе разработки приложение обслуживается двумя разными портами: сервер express работает на порте 5000 и сервер реагирует на свой порт по умолчанию.
, когда пришло время развертывания В этом приложении инструктор знакомит нас с особенностями хостинга на героку. мы добавляем проверку на сервер, чтобы увидеть, что представляет собой окружение, и устанавливаем express сервер для предварительно собранных ресурсов stati c из папки сборки клиента (продукт нашего реагирующего интерфейса)
if(process.env.NODE_ENV === "production") {
app.use(express.static("client/build"))
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, "client", "build", "index.html"))
})
}
we Конфигурируйте порт также условно:
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => {
console.log(`Server started on port ${PORT}`);
});
пока что просто peasy.
во время разработки, пакет, вызываемый одновременно, используется для запуска и сервера express, на котором запущен наш crud api. в качестве внешнего интерфейса реагирования, но в производстве мы используем сценарий heroku post-build для установки реагирует на зависимости и запускаем его команду сборки, чтобы наш express сервер мог использовать папку сборки, которую он генерирует для stati c assets:
"heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"
при первом запуске этого приложения на heroku все работало, как и ожидалось, так же, как и в разработке.
однако сейчас, когда я захожу на сайт и пытаюсь зарегистрироваться или войти ( таким образом ударяя о бэкэнд с запросами http) я получаю сообщения об ошибках, указывающие, что мой сервер недоступен ...
POST http://localhost:5000/api/auth net::ERR_CONNECTION_REFUSED
, если я запускаю свой локальный Разработка среды, пока я загружаю сайт, размещенный на heroku, тогда вся маршрутизация работает нормально, но если я выключаю сервер на своей локальной машине и захожу на сайт, ничего, что заставляет запрос http к API бэкэнда, работает правильно.
Ищите здесь некоторое понимание. Любая помощь приветствуется. Спасибо.