本文介绍了尝试代理从本地主机8000到http://localhost:4000(ECONNREFUSED)的请求时发生Gatsby错误[HPM]错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用此入门工具开发Gatsby应用程序https://github.com/the-road-to-react-with-firebase/react-gatsby-firebase-authentication

我在运行Gatsby Development后尝试访问页面时,在更新节点包后不断收到此HPM错误。项目编译成功,但随后我在浏览器中收到此错误,没有显示任何内容。

终端中的这个:

一旦我将其从gatsby-config.js文件工作并且在浏览器中生成的页面:

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

但是,我在终端中收到以下错误:

我想知道代理为什么不工作,以及上面的模块导出到底在做什么。我觉得我正在做的这个变通办法不太好。任何帮助或建议都是最好的!!

Github回购:

GitHub Repo for The project

推荐答案

该错误表示在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

希望能有所帮助!

这篇关于尝试代理从本地主机8000到http://localhost:4000(ECONNREFUSED)的请求时发生Gatsby错误[HPM]错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-13 02:41