Node.js 代理运行节点应用程序
我刚刚创建了一个react node SQL应用程序,我希望它能在谷歌云上运行,而不是firebase 我的React应用程序在不同的端口上运行,我的节点应用程序在不同的端口上运行 我遵循这一点,在我的react app package.json中添加了这一行,但我没有发现,即按钮中的href仍然指向localhost:8081,但它没有工作 我的节点运行在端口8080上,在我的react应用程序的package.json中,我添加了代理:http://localhost:8080/ 在按钮中,当我执行href=/api/status时,它将转到运行react应用程序的localhost:8081 现在,是否可以在同一个项目下同时运行节点和react?或者我们需要为他们创建单独的项目 [更新:]我正在使用webpack,在我的webpack配置文件中,我添加了这个Node.js 代理运行节点应用程序,node.js,reactjs,Node.js,Reactjs,我刚刚创建了一个react node SQL应用程序,我希望它能在谷歌云上运行,而不是firebase 我的React应用程序在不同的端口上运行,我的节点应用程序在不同的端口上运行 我遵循这一点,在我的react app package.json中添加了这一行,但我没有发现,即按钮中的href仍然指向localhost:8081,但它没有工作 我的节点运行在端口8080上,在我的react应用程序的package.json中,我添加了代理:http://localhost:8080/ 在按钮中,
devServer: {
proxy: {
'/': 'http://localhost:8080'
}
},
问题是,即使在我的react应用程序中,当它打开网页localhost:8081/时,在8081上运行的启动程序也会抛出一个错误,说无法获取页面
但如果我做了这样的事
devServer: {
proxy: {
'/api': 'http://localhost:8080'
}
},
它会正常打开页面主页。现在,我的api和身份验证后的回调uRL没有配置为have prefix as api 基本上,当您从react应用程序(如axios或fetch)执行ajax请求时,它将使用proxy:作为后端url。但是,href不适用于代理。在这种情况下,您需要使用手动代理页面中记录的setupProxy.js手动配置代理 看看这个: 同样的错误在这里,它仍然路由到localhost:3000/api/auth/google,my CRA版本是2.1.3,看来http代理中间件是唯一的 工作方式。我必须手动配置代理 从: 如果代理选项对您来说不够灵活,您可以直接 访问Express app实例并连接您自己的代理 中间件 您可以将此功能与中的代理属性结合使用 json,但建议您整合所有逻辑 进入src/setupProxy.js
您添加了代理行吗?@AritraChakraborty我的节点运行在端口8080上,在我的react应用程序的package.json中,我添加了代理:http://localhost:8080/ 在按钮中,当我执行href=/api/status时,它将转到运行react应用程序的localhost:8081。非常感谢您的回答,刚刚更新了问题。您也能看一下吗。