我正在使用Reactjs和Typescript开发网站,前端使用端口3000,后端使用Java并使用端口8080。我在开发时,在package.json上设置了代理属性。
Translated:我正在使用 Reactjs 和 Typescript 开发一个网站,前端使用端口 3000,后端使用 Java 并使用端口 8080。在开发过程中,我已经在 package.json 文件中设置了代理属性。
"proxy": "http://localhost:8080"
所以在向后端发送请求时,我没有任何问题,因为代理工作得很完美。
现在我需要创建一些用于下载报告的链接,因此我正在动态生成这些链接,并且需要它们指向端口 8080 而不是端口 3000
我像这样传递URL:
<a href={this.state.url}>Download Report</a>
this.state.url 看起来像 /reports/download/users,并且指向 http://3000/reports/download/users 是有意义的。
有什么办法可以在开发中创建链接,使其指向端口8080。
更新
代理正在使用以下代码进行请求:
fetch('./app/admin/reports/availableReports')
.then(res => res.json())
.then(json => json.reportTypes)
.catch(ex => {
console.log('Alert!!', ex)
return []
})
但是当我生成一个链接时,它就不起作用了:
<a href={'app' + this.state.currentDownloadUrl}>Download Report</a>
http://localhost:3000/reports/download/users
,而代理将其指向了:8080
。使用代理的好处是,即使前端和后端在开发中运行在不同的端口上,你仍然可以使用相对路径来访问所有内容。 - jonrsharpe