微信小程序是否拥有环境变量?

  • 回答 (3)
  • 关注 (0)
  • 查看 (1847)

我们开发的时候,用的服务的域名跟发布后的域名不一样,不知道微信是否有环境变量可以直接用来区分不同的环境?

迷迭香迷迭香提问于
驿徽IT攻城师回答于

我们现在 定义了一个 settings 类, 里面是各个API的 baseUrl (schema + domin), 然后我们用 Typescript 重写了一个 WebClient 类 (目的是 Promise<T> 和 async/await), 而 webClient 初始化的时候 放入 baseUrl , 也就是 settings 里面定义的, 而且 setting 里面导出的时候是根据 一个变量来 导出的, 基本上实现了 部分 环境变量的功能, 不过唯一的缺点就是 不是自动的, 对我们的源代码管理来说很不友好, 开发的时候和发布测试的时候 总得来回改这个 settings 里面的变量。 最好的解决方案是 微信本身存在一个环境变量: let env = wx.environment[`environment`] // env = `production` , 这个可以用来区分不同的环境 wx.environment[`wechat-version`] //6.6.7 wx.environment[`platform`] // andorid wx.environment[`platform-version`] //8.0 ....

壹捌柒肆手机APP项目经理,产品经理。业余服务器、前端、iOS 开发人员。回答于
101th2伪全栈工程师/猫咪lover回答于

解决方案是:

* 再封装了一个请求的 wx.request

* 在封装内配置好api的地址

* 使用封装的wx.request来请求数据,传递具体请求地址

* 开发和发布对应只更改封装内部的api地址即可

可能回答问题的人

  • Justan

    腾讯 · 高级工程师 (已认证)

    20 粉丝0 提问8 回答
  • 鲁文斌

    腾讯 · 产品经理 (已认证)

    5 粉丝0 提问0 回答
  • JoanLiu

    腾讯 · 产品经理 (已认证)

    18 粉丝0 提问0 回答
  • 腾讯云开发TCB

    腾讯科技有限公司 · 云开发(TCB)团队 (已认证)

    94 粉丝0 提问0 回答
  • Starkwang

    6 粉丝0 提问0 回答
  • iFeng

    腾讯 · 工程师 (已认证)

    4 粉丝0 提问1 回答

扫码关注云+社区

领取腾讯云代金券