问题描述
react脚手架搭建的项目,
在请求后端接口的时候,url = host/接口名
每次在生产环境和线上测试环境切换的时候(需改代码在测试环境与线上正式环境版本升级),都需要手动去修改后端接口host的地址,
现在想让生产环境和线上测试环境来自动识别host的地址,要如何配置?
因为上线都是执行的npm run build这个命令。
react脚手架搭建的项目,
在请求后端接口的时候,url = host/接口名
每次在生产环境和线上测试环境切换的时候(需改代码在测试环境与线上正式环境版本升级),都需要手动去修改后端接口host的地址,
现在想让生产环境和线上测试环境来自动识别host的地址,要如何配置?
因为上线都是执行的npm run build这个命令。
根据不同的环境在 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);
4 回答1.7k 阅读
2 回答1.1k 阅读✓ 已解决
2 回答2.6k 阅读
1 回答1k 阅读✓ 已解决
1 回答719 阅读✓ 已解决
2 回答886 阅读✓ 已解决
4 回答1.3k 阅读
写个runtime吧