babel-preset-react-app 没有获取环境变量

reactjs

1个回答

写回答

小丫呀呀0

2025-06-18 09:20

+ 关注

JS
JS

在使用 React 开发应用程序时,我们经常会遇到需要获取环境变量的情况。环境变量可以用于在不同的环境中配置不同的参数,比如 API 地址、密钥等。然而,使用 babel-preset-react-app 进行项目配置时,我们可能会遇到无法获取环境变量的问题。本文将介绍如何解决这个问题,并给出一些案例代码。

## 问题描述

在使用 babel-preset-react-app 进行项目配置时,我们通常会在项目根目录下的 .env 文件中设置环境变量。然而,在一些情况下,我们无法在代码中获取到这些环境变量的值。这可能会导致一些功能无法正常工作,或者无法根据不同的环境进行适当的配置。

## 解决方案

要解决这个问题,我们可以使用一个叫做 react-scripts 的工具来处理环境变量。react-scripts 是一个由 Create React App 提供的命令行工具,它可以帮助我们快速搭建 React 应用的开发环境。

首先,我们需要在项目中安装 react-scripts:

bash

npm install react-scripts

安装完成后,我们可以在 package.JSon 文件中添加一些自定义的命令,以便在启动开发服务器或打包应用程序时使用自定义的环境变量。例如,我们可以在 package.JSon 文件中添加以下命令:

JSon

"scripts": {

"start": "react-scripts start",

"build": "react-scripts build",

"test": "react-scripts test",

"custom-start": "REACT_APP_CUSTOM_ENV=development react-scripts start",

"custom-build": "REACT_APP_CUSTOM_ENV=production react-scripts build"

}

在这个例子中,我们为启动开发服务器和打包应用程序的命令添加了一个前缀 "custom-",并在命令后面设置了一个名为 REACT_APP_CUSTOM_ENV 的环境变量。这个环境变量的值将分别在开发环境和生产环境中设置为 "development" 和 "production"。

接下来,我们可以在代码中使用 process.env 对象来获取环境变量的值。例如,我们可以在应用程序的入口文件中添加以下代码:

Javascript

console.log(process.env.REACT_APP_CUSTOM_ENV);

这样,当我们运行 "npm run custom-start" 命令时,控制台将输出 "development"。而当我们运行 "npm run custom-build" 命令时,控制台将输出 "production"。

## 案例代码

下面是一个使用自定义环境变量的案例代码:

Javascript

import React from 'react';

function App() {

const apiUrl = process.env.REACT_APP_API_URL;

return (

<div>

<h1>My App</h1>

API URL: {apiUrl}

</div>

);

}

export default App;

在这个案例中,我们使用了一个名为 REACT_APP_API_URL 的环境变量来配置 API 的地址。通过使用 process.env 对象,我们可以在代码中获取到这个环境变量的值,并将其显示在应用程序中。

##

通过使用 react-scripts 工具和 process.env 对象,我们可以轻松地获取到在项目配置中设置的环境变量的值。这样,我们就能够在代码中根据不同的环境进行适当的配置,从而实现更加灵活和可定制的应用程序开发。希望本文能够帮助到你解决 babel-preset-react-app 无法获取环境变量的问题。

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号