React 中设置环境变量(开发环境、测试环境和生产环境)
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].Url_Mate,
},
});
使用:在 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

浙公网安备 33010602011771号