本文介绍了尝试代理从本地主机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回购:
推荐答案
该错误表示在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]错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!