Ошибка Гэтсби [HPM] Ошибка при попытке прокси-запроса / с локального хоста: от 8000 до http://localhost:4000 (ECONNREFUSED) - PullRequest
0 голосов
/ 29 июня 2019

Разработка приложения Gatsby с помощью этого стартера https://github.com/the-road-to-react-with-firebase/react-gatsby-firebase-authentication

Я получаю эту ошибку HPM после обновления пакетов моего узла, когда пытаюсь зайти на мою страницу после запуска Gatsby Develop. Проект успешно компилируется, но затем я получаю эту ошибку в браузере, и ничего не появляется.

Произошла ошибка при попытке прокси: localhost: 8000 /

и это в терминале:

error [HPM] Произошла ошибка при попытке прокси-запроса / с локального хоста: от 8000 до http://localhost:4000 (ECONNREFUSED

как только я уберу это из gatsby-config.js файл работает и страницы, созданные в браузере:

module.exports = {
    developMiddleware: app => {
        app.use(
            proxy({
                target: "http://localhost:4000",
            })
        )
    },
}

Однако я получаю эту ошибку в терминале:

Ошибка загрузки результата для запроса страницы в "/404.html". Запрос не был выполнен, и кешированный результат не был найден. Страница не найдена /404.html

Я хочу знать, почему прокси-сервер не работает и что в действительности делает вышеупомянутый модуль экспорта. Я чувствую, что этот обходной путь, который я делаю, не очень хорош. Любая помощь или совет будут великолепны !!

Github Repo:

GitHub Repo для проекта

1 Ответ

1 голос
/ 30 июня 2019

Эта ошибка означает, что на http://localhost:4000 ничего не работает.Кажется, есть некоторые проблемы с вашей настройкой:

Во-первых, ваша developMiddleware установка указывает на http://localhost:4000, но ваш сервер (server.js) по умолчанию работает на http://localhost:3000.Возможно, вы забыли запустить сервер или запустить его не с того порта?

Во-вторых, если я правильно прочитал, в вашем промежуточном ПО прокси вы используете прокси для каждого маршрута до порта 4000?Это сделает Гэтсби бесполезным.Вот пример лучшей настройки прокси:

module.exports = {
  developMiddleware: app => {
    app.use(
      "/api",
      proxy({
        target: "http://localhost:4000",
      })
    )
  },
}

При этом только запрос к localhost:8000/api будет перенаправлен на localhost:4000.

Надеюсь, это поможет!

...