javascript - 如何在前端 react 中设置后端URL

标签 javascript java reactjs npm

我是 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 文件,并将主机设置为可用

https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-custom-environment-variables

或者,如果 UI 的主机与 API 的主机相同,您可以从 window.location 中选择主机

关于javascript - 如何在前端 react 中设置后端URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52251028/

相关文章:

java - 当你在 Java 中有一个像 access$002 这样的变量时,这意味着什么?

node.js - Webpack2 热模块重新加载 Express.js 通用 React 应用程序

javascript - jQuery 表单验证器 - 如何动态更改 Javascript/Jquery 中的验证参数

javascript - 正则表达式在javascript中拉出方括号

javascript - 无法在 Node JS 应用程序中运行 Firebase

java - 如何提高精度? -使用连续隐马尔可夫模型(Jahmm)进行 Activity 识别

java - java spring : @Transactional(propagation = Propagation. 中的并发需要,隔离 = Isolation.SERIALIZABLE) 不工作

javascript - Gatsby , Stripe : Creating a button source code returns 'Uncaught TypeError: Cannot read property ' configure' of undefined'

reactjs - webpack:SASS 加载器失败 "Module build failed (from ./node_modules/sass-loader/lib/loader.js)"

javascript - 获取 Node 模块目录的路径