尝试代理从本地主机8000到http://localhost:4000(ECONNREFUSED)的请求时发生Gatsby错误[HPM]错误
使用此入门工具开发Gatsby应用程序
https://github.com/the-road-to-react-with-firebase/react-gatsby-firebase-authentication
我在运行Gatsby Development后尝试访问页面时,在更新节点包后不断收到此HPM错误。项目编译成功,但随后我在浏览器中收到此错误,没有显示任何内容。
尝试代理时出错:本地主机:8000/
终端中的这个:
一旦我将其从尝试将请求从本地主机8000代理到http://localhost:4000时出现错误[HPM](ECONNREFUSED
gatsby-config.js
文件工作并且在浏览器中生成的页面:
module.exports = {
developMiddleware: app => {
app.use(
proxy({
target: "http://localhost:4000",
})
)
},
}
但是,我在终端中收到以下错误:
在"/404.html"中加载页面查询的结果时出错。未运行查询,且未找到缓存的结果。 找不到页面/404.html
我想知道代理为什么不工作,以及上面的模块导出到底在做什么。我觉得我正在做的这个变通办法不太好。任何帮助或建议都是最好的!!
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
。
希望能有所帮助!
相关文章