问题描述
在项目的不同阶段,需要调用不同环境的接口,然后小程序目前并未提供这个很重要的功能。
解决方法
目前没有找到非常满意的方法,提供两个妥协方案
1.不同环境配置不同的域名,通过全局变量控制,发布提前审核前修改一次 (适用于个人和小团队)
let isTest = true;const testApi = { user:{ checkLogin: 'https://test.xxx.com/xxx' }}const prodApi = { user: { checkLogin: 'https://product.xxx.com/xxxx' }}let Api = isTest ? testApi : prodApi;module.exports = Api;
优点
开发人员修改代码,测试人员测试方便,用手机测试不需要做额外配置
缺点
每次发布都需要修改代码,人为把控风险较大
2.不同环境共用域名,通过配置host指定IP解析,手机需使用代理 (适用于个人和技术型小团队)
切换host可以推荐工具
优点
不需要修改代码,屏蔽人的风险
非常适合开发人员在本地测试
缺点
不方便手机端测试,设置和配置代理有一点点学习成本
3.共用域名,路由器设置不同wifi,路由器指定DNS解析域名到不同环境 (适用于大公司)
优点
开发人员和测试人员都不需要额外操作,非常方便
缺点
配置不同wifi需要硬件成本,自建DNS服务也需要成本
4.其他
更多更友好的方案,待补充