react项目配置不同环境下的接口地址

9 篇文章 0 订阅
8 篇文章 0 订阅

思路就是使用配置文件 和全局变量
1 修改package.json
记得先
npm i cross-env -S

  "scripts": {
    "start": "node scripts/start.js",
    "build": "node scripts/build.js",
    "test": "node scripts/test.js",
     //以下为新增命令
     // 开发环境启动
    "server:dev": "cross-env env_config=dev node scripts/start.js",
     // 测试环境启动
    "server:test": "cross-env env_config=test node scripts/start.js",
     // 开发环境打包
    "build:dev": "cross-env env_config=dev node scripts/build.js",
     // 测试环境打包
    "build:test": "cross-env env_config=test node scripts/build.js"
  },

/config/dev.env.js 新增文件

'use strict'
module.exports =  {
 NODE_ENV: '"development"',
 API_ROOT: '"https://devapi.xxx.com"',
 OTHER_DATA: '"123"'
};

/config/test.env.js 新增文件

'use strict'
module.exports =  {
  NODE_ENV: '"development"',
  API_ROOT: '"https://testapi.xxx.com"',
  OTHER_DATA: '"456"'
}

/config/env.js 修改文件

// 最上边引入我们定义的配置文件
const myEnv = require('./' + process.env.env_config + '.env');
// 98行
  const stringified = {
    'process.env': Object.keys(raw).reduce((env, key) => {
      env[key] = JSON.stringify(raw[key]);
      // 将我们定义的字段加进入, 随着配置定义到全局变量
      return Object.assign(env, myEnv); // 修改前为 return env;
    }, {}),
  };

最后启动项目

验证效果
  console.log('组件输出全局变量', process.env);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值