错误[hpm]试图代理请求/从Localhost:8000到http:// localhost:4000(Econnre



使用此启动器开发盖茨比应用https://github.com/the-rad-to-to-react-with-firebase/reeact-gatsby-firebase-authentication

在运行Gatsby开发后尝试访问页面时,我会在更新我的节点软件包后继续遇到此HPM错误。该项目成功地编译了,但随后我在浏览器中遇到了此错误,但什么都没有出现。

试图代理到:Localhost:8000/

时发生了错误

,这在终端中:

错误[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 for 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

希望它有帮助!

我确实在试图使用VS代码和WSL2 Ubuntu-20.04环境调试Angular和Node.js时确实存在相同的错误。显然,这是通过添加不建议的usewsl flag

来解决的
{
  "type": "node",
  "request": "launch",
  "name": "Launch Node Express via NPM",
  "runtimeExecutable": "npm",
  "useWSL": true,
  "runtimeArgs": ["run-script", "node:debug"],
  "port": 9229
},

i有相同的错误。就我而言,我忘了首先运行NPM运行服务器。这将启动服务器。

然后在另一个终端窗口中运行NPM。

npm start将致电" ng serve-proxy-config ./proxy.json"

我的proxy.json文件:

{
  "/api": {
    "target": "http://localhost:9000",
    "secure": false
  }
}

尝试替换" localhost"by'127.0.0.1'

相关内容

最新更新