我目前正在开发应用程序的前端,并在使用后端的api时测试我的代码,我需要在每次项目运行时从de DB访问数据;是否可以在不打开ide并每次都运行后端的情况下使用api?
答案 0 :(得分:0)
如果不打开ide并使服务器启动,您将无法访问api,因此无法访问。但是有一种方法可以尝试模拟api / DB数据并将其保留在本地。
示例:后端api-“ api / get / users”返回{“ id”:1,“ name”:“ xyz”}
您可以复制响应并将其粘贴到一个JSON / JS文件中,例如,mocks // users.json也具有{“ id”:1,1,“ name”:“ xyz”}
并从您的代码中引用此模拟,通过这种方式,您可以更快地获得响应(如其本地文件所指),并且在需要确保流程时可以轻松地切换到后端api。
让我知道您是否需要其他详细信息
快乐编码!
答案 1 :(得分:0)
只有两种选择:运行后端或模拟后端。很快就会想到json-server的REST API。我要做的另一件事不是在本地运行后端,而是如果您部署了开发版本,则可以通过使用环境变量来针对它运行前端。例如,我的.env
文件如下所示,因为我们正在使用AWS API网关:
# LOCAL
REACT_APP_API=/api
# DEV
# REACT_APP_API=https://todo.execute-api.ap-southeast-2.amazonaws.com/todo
在我的代码中,我使用process.env.REACT_APP_API
进行REST调用。当我想使用DEV
环境时,我交换了REACT_APP_API
。
注意:您需要确保CORS策略允许此操作以及应用程序中可能不喜欢的其他任何位。例如,在我的情况下,我们使用Cognito,因此我不得不添加http://localhost:3000
作为允许的重定向URI,这可能不适用于您,但希望您理解了。
使用提交到您的repo中的.env文件作为管理环境变量的一种方式也被认为是不好的做法,我仅将此文件用于开发目的,请花点时间部署我所有的REACT_APP_..
变量是从适当的环境管理工具中提取的。