首页 > 其他分享 >React 中设置环境变量(开发环境、测试环境和生产环境)

React 中设置环境变量(开发环境、测试环境和生产环境)

时间:2023-11-03 11:24:24浏览次数:39  
标签:REACT env APP cross dev React ENV 环境变量 测试环境

React 中设置环境变量(开发环境、测试环境和生产环境)

环境 React ,Umi框架

 1. 安装插件:cross-env

npm i cross-env -S

 

 

2. 修改 package.json 文件

  "scripts": {
    "dev": "cross-env REACT_APP_ENV=dev umi dev",
    "dev:prod": "cross-env REACT_APP_ENV=prod umi dev",
    "build": "cross-env REACT_APP_ENV=dev umi build",
    "build:prod": "cross-env REACT_APP_ENV=prod umi build",
    "postinstall": "umi setup",
    "setup": "umi setup",
    "start": "npm run dev",
    "test": "cross-env TS_NODE_TRANSPILE_ONLY=yes jest --passWithNoTests"
  },

 

 

3. 创建配置文件

在跟目录下创建 host.ts文件

export default {
  dev: { Url_Mate: "https://wwww.development.com/" },
  prod: { Url_Mate: "https://www.production.com" },
};

 

 

4. 定义变量,打开.umirc.ts 文件

import { defineConfig } from "umi";
import host from "./host";

const { REACT_APP_ENV } = process.env;
export default defineConfig({
  base: "/dict",
  npmClient: "yarn",
  tailwindcss: {},
  mfsu: false,
  codeSplitting: {
    jsStrategy: "granularChunks",
    jsStrategyOptions: {},
  },
  plugins: ["@umijs/plugins/dist/tailwindcss"],
  copy: [
    {
      from: "Dockerfile",
      to: "dist",
    },
  ],
  define: {
    // "process.env": {
    //   NODE_ENV: process.env.REACT_APP_ENV,
    // },
    Url_Mate: host[REACT_APP_ENV],
  },
});

 

 

使用:在 api 接口文件中,直接使用Url_Mate变量

const apiPath = Url_Mate;

 

 

 

注:如在 api 接口文件中获取 环境变量

const eenv = process.env;

 

 

只能获取到如下内容

 

 但是在.umirc.ts 文件 中可获取到  package.json 中配置的环境变量

const { REACT_APP_ENV } = process.env;

 

如需要 api 接口文件中获取 配置的环境变量,需在.umirc.ts 文件 中配置

  define: {
     "process.env": {
       NODE_ENV: process.env.REACT_APP_ENV,
     },
    Url_Mate: host[REACT_APP_ENV],
  },

 

 

 

end

 

标签:REACT,env,APP,cross,dev,React,ENV,环境变量,测试环境
From: https://www.cnblogs.com/1285026182YUAN/p/17807162.html

相关文章

  • java基础学习:path,java_home环境变量配置
    1.path变量: 装jdk后会自动配置java和javac的path路径 2.JAVA_HOME环境变量:   ......
  • 3.环境变量
    3.环境变量系统环境变量:常用的系统环境变量:变量:用于存储管理临时的数据;这些数据都是在运行内存中变量类型;系统环境变量是系统提供的共享变量,是linux系统中加载shell配置文件中定义的变量给所有的shell程序使用;自定义变量特殊符号变量​配置文件全局配置......
  • React面试题: 我是否可以在项目中不断使用React.Component来优化项目
    React.PureComponent是React的一个组件,主要用于性能优化,可以避免不必要的渲染。它的主要特点是:如果组件的props和state没有发生变化,则不会重新渲染(此处原理类似React.memo)。可以自动检查对象和数组,判断其是否需要重新渲染(是浅比较)。但是,React.PureComponent的缺点......
  • React面试题: useCallBack()与React.memo的区别与使用常见场景
    React.usecallback与React.memo的区别:React.useCallback和React.memo是两种不同的优化方式:主要功能:它们都可以避免不必要的渲染,提高React应用的性能。React.useCallback是Hoc(高阶组件)的解决方案,可以用于优化函数组件和Class组件,注意这里适用于React高阶组件的渲染解......
  • jdk环境变量JAVA_HOME修改不生效问题
    近段因一个软件问题,软件需要使用jdk1.7的环境,我现在使用的是1.8,所以下载了jdk1.7,然后将环境变量JAVA_HOME改为了1.7的路径信息然后查看jdk版本还是1.8版本,就很奇怪,为什么修改了环境变量没生效呢?解决方式一:将系统变量path中JAVA_HOME中这一项移动到最上面解决方式二:当使用安装版本......
  • 直播小程序源码,react-native自定义文本输入框
    直播小程序源码,react-native自定义文本输入框Examplesfromprops: ... _onChange=(label,value)=>{  this.setState({[label]:value}); }; render(){  return(   <Viewstyle={styles.container}>    <Text>     {this.stat......
  • React Native在非组件的地方使用页面跳转(interceptors拦截器处跳转页面)
    官方文档:https://reactnavigation.org/docs/navigating-without-navigation-prop/修改APP.jsimport{NavigationContainer}from'@react-navigation/native';import{navigationRef}from'./RootNavigation';exportdefaultfunctionApp(){r......
  • 无涯教程-React Native - 运行IOS
    如果您想在IOS模拟器中测试您的应用程序,则只需在终端中打开应用程序的根文件夹并运行-react-nativerun-ios上面的命令将启动模拟器并运行该应用程序。我们还可以指定我们要使用的设备。react-nativerun-ios--simulator"iPhone5s在模拟器中打开应用程序后,可以在IOS上按......
  • 无涯教程-React Native - 路由
    在本章中,我们将了解ReactNative中的导航。步骤1-安装路由首先,我们需要安装Router路由,我们将在本章中使用ReactNativeRouterFlux,您可以在终端的项目文件夹中运行以下命令。npmireact-native-router-flux--save步骤2-应用代码由于我们希望Router处理整个应用程序......
  • 无涯教程-React Native - 调试
    Reactnative提供了两种方法来帮助调试代码。在AppDeveloper菜单中您可以通过按command+D在IOS模拟器上打开开发人员菜单。在Android模拟器上,您需要按command+M。Reload                - 用于重新加载模拟器。您可以使用快捷键......