reactjs - React 中的配置文件

标签 reactjs create-react-app

我正在尝试弄清楚如何使用不同的配置文件运行 react 应用程序(通过 create-react-app 创建)。

也就是说,假设我有多个环境(本地、开发、产品),并且我有一个引用后端(部署在另一台服务器上)的 fetch。

每个环境的后端都有自己的地址。我需要以某种方式为不同的启动设置全局变量。

例如,在 Springboot 中,这可以通过 application-"profile".properties 来完成。

我通过 npm install -gserve &serve -s build 运行应用程序。怎么做?

最佳答案

使用create-react-app时,您可以使用环境变量配置您的应用程序。

这里的文档中有详细解释:https://facebook.github.io/create-react-app/docs/adding-custom-environment-variables

所有环境变量都需要以 REACT_APP_ 为前缀。

您可以使用 .env 文件定义具有不同环境变量的配置文件。

例如,要在生产中设置 API URL,请创建一个包含以下内容的文件 .env.product:

REACT_APP_API_URL=https://my.beautiful.api/

...默认情况下(用于本地开发),创建一个文件 .env:

REACT_APP_API_URL=http://localhost:3001/
  • 当您使用 npm run build 构建项目时,将使用 .env.product 文件中的环境变量
  • 当您使用 npm start 在本地开发模式下处理项目时,将使用 .env 文件中的环境变量

在应用代码中使用环境变量的示例:

fetch(process.env.REACT_APP_API_URL)
  .then(function(response) {
    return response.json();
  })
  .then(function(myJson) {
    console.log(JSON.stringify(myJson));
});

关于reactjs - React 中的配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53557373/

相关文章:

javascript - 运行 React App 时出现 Cannot find module '@babel/plugin-proposal-private-property-in-object'

reactjs - create-react-app 中 EXTEND_ESLINT=true 时 typescript 解析错误

typescript - 使用上下文 API + useState Hook 使用 TypeScript TS2322 错误创建 React App?

reactjs - 使用 react-app-rewired 和 custom-cra 时如何配置 Jest?

reactjs - 如何使用到达路由器和谷歌分析来跟踪页面浏览量?

javascript - 单击输入 : Material-Ui 时保持按钮聚焦

javascript - React 渲染 FusionChart 使用 API Rest

reactjs - 如何从包含该节点的所有连接中删除由 Relay 获取的节点?

reactjs - prop 类型验证中出现误报

html - GitHub Pages 无法使用 create React app(CRA) 更新 index.html 元标记