# 5、切换环境
审批因某些测试场景的原因,需要多环境(qa、pre、online)开发,阶段性的上线测试需求,故申请了多个环境的应用,不同环境最直接的差别就是请求的服务端域名不同。
注意:IDE只有线上开发环境,qa环境不对外,如有需要,可联系 BZ小程序群组
但小程序在客户端运行的时候,没有方式知道自己当前运行在什么环境的客户端,(因小程序对外发展来看,未来也不会提供这样的获取方法)。
所以只能从小程序业务代码自身去解决这个问题,最直接的解法是全局定义一个变量 APP_ENV
,每次生产不同环境的包时,手动更改这个值为对应环境,然后编译/预览/打包
const APP_ENV = 'qa'; // online / pre / qa
1
然而加上我们开发不同环境时,必须要更改的 appid
, 故项目需要改动两处。
不难发现,两处也可以综合为一处改动,APP_ENV
只要预先好规则,根据当前 appid
去判断当前是什么环境也可以达到预期效果。
import { appid } from '../manifest.json'
// todo 判断
// ...
1
2
3
4
2
3
4
如此,每次更改环境,只需更改对应 appid
即可。