【问题标题】:How do I set up a server page in create-react-app for making API requests?如何在 create-react-app 中设置服务器页面以发出 API 请求?
【发布时间】:2019-12-09 21:18:08
【问题描述】:

我正在使用 create-react-app 学习 React,构建一个应用程序,我在其中向外部源发出 API 请求。 我在构建项目时将此请求留在了前端,但现在我想将其移动到服务器页面以隐藏我的 API 密钥。

我不完全了解的是如何在 create-react-app 环境中集成服务器,并做出适当的路由到前端。 在我看来,我认为这个过程是这样工作的:

运行 npm start > 我的服务器页面向第三方发出 api 请求 > 服务器页面收到响应 > 服务器页面以 JSON 格式向前端页面提供响应。

注意:尽管 stackoverflow 上的很多答案都表明您可以将 api 密钥隐藏在 .env 配置文件中,但事实并非如此,因为它嵌入在最终构建中并且可以公开访问。

【问题讨论】:

  • 你需要一个单独的服务器来充当你的 React 前端和第 3 方 API 之间的中介。 create-react-app 仅是前端;将服务器视为一个单独的项目。如果你也想使用 node,我建议 expressjs。 express 服务器将为您的 React 应用程序提供一个 API 端点,如 /getweather?city=x,存储 API 机密等,向第 3 方 API 发出请求并将其转发到您的 React 应用程序,可能是 JSON。请注意,由于服务器将在不同的端口上运行(至少在开发期间),因此您需要为 express 设置 cors。
  • @ChrisG - '将服务器视为一个单独的项目' - 谢谢,我没有以这种方式认为它是单独的。我现在找到了一个关于如何设置和连接 create-react-app 前端与 node/expressjs 后端的在线教程

标签: javascript node.js reactjs api create-react-app


【解决方案1】:

您需要一个后端服务器来执行该任务。你可以找到工作示例here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-07
    • 1970-01-01
    • 2018-07-16
    相关资源
    最近更新 更多