react脚手架搭建的项目,在请求后端接口的时候,如何自动匹配生产环境和线上测试环境的后端接口host地址

问题描述

react脚手架搭建的项目,
在请求后端接口的时候,url = host/接口名
每次在生产环境和线上测试环境切换的时候(需改代码在测试环境与线上正式环境版本升级),都需要手动去修改后端接口host的地址,
现在想让生产环境和线上测试环境来自动识别host的地址,要如何配置?
因为上线都是执行的npm run build这个命令。

阅读 5.3k
3 个回答

写个runtime吧

根据不同的环境在 html 中注入配置信息

window.__config = {
    host: ''
};


const host = window.__config.host;
request(`${host}/api`);

webpack中通过DefinePlugin定义一个常量。
然后通过process.env.NODE_ENV来给这个常量赋值.
webpack.config.js

const requestHost= process.env.NODE_ENV === 'development' ? '生产ip' : '开发ip';

new webpack.DefinePlugin({
    requestHost
});

然后你在组件中直接获取这个requestHost就可以了。

const url = `${requestHost}/api`;
fetch(url);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题