我是 React 的初学者(一般来说是前端)。我刚刚在 Java 上做了一个完整的 API,我想问问你们,在 React 上告诉 fetch() 函数什么是正确的.jsx 后端 URL,我目前将其固定在常量上,但我认为必须存在一种更优雅的方式来执行此操作。
感谢您的帮助,祝您编码愉快。
编辑: 为了阐明我的意思,这是我的一些示例代码:
在后端我有一个像这样的 restfull 服务:
@CrossOrigin(origins = "http://localhost:3000")
@RequestMapping("/recursosTotales")
public List<Recurso> recursosTotales(){
ConectorBd conectorBd =new ConectorBd();
conectorBd.start();
return conectorBd.recursoList();
}
在前面我有一个像这样调用 restfull 服务的 fetch:
fetch("http://localhost:8090/recursosTotales")
.then(response => response.json())
.then(response => {
this.setState({ products: response });
});
正如你们所看到的,后端的 URL 被烧掉了,我想知道的是我如何制作某种全局变量,以防万一我必须更改服务器 URL,只需在一个地方更改它。
我尝试使用 dotenv 库,但据我所知,process.env 不适用于 .jsx 文件,因为它们是应用程序客户端的一部分,而 env 仅适用于服务器端。我不能完全理解这个原则。
无论如何,我希望我的问题更清楚。并感谢所有已经回答的人。
编辑 2
好的,伙计们,我终于学会了如何正确使用 dotenv,它解决了我的需求,感谢大家的帮助和时间。
最佳答案
推荐的方式是通过环境变量来设置。您可以为您的环境使用不同的 .env 文件,并将主机设置为可用
或者,如果 UI 的主机与 API 的主机相同,您可以从 window.location 中选择主机
关于javascript - 如何在前端 react 中设置后端URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52251028/