收藏
回答

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

框架类型 问题类型 操作系统 工具版本
小程序 需求 Windows 1.02.1807200

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

回答关注问题邀请回答
收藏

6 个回答

  • 欣欣向荣的万七七
    欣欣向荣的万七七
    2019-01-03

    我觉得最灵活的办法是还是自己准备一套简易打包机制,build时将环境变量写进全局中;

    如果不想打包,有一个不正统的办法,就是查询wx.getSystemInfo()里的platform,如果为'devtools'的话就表明是开发者工具环境,即develop。


    2019-01-03
    有用 2
    回复 3
    • 小小生
      小小生
      2019-06-15

      这种预打包的方式 跟自己定义一个变量的方式差不多了,解决了手动改文件的方式,但是与真正的环境变量差距还是很大的。

      我们想要的环境变量跟发布到小程序后台的应该是有关系的, 比如  本地版(开发工具和真机调试), 体验版, 正式版(线上)

      2019-06-15
      回复
    • 只杀不埋
      只杀不埋
      2021-04-16
      wx.getAccountInfoSync()区分开发板体验版线上版了解一下
      2021-04-16
      回复
    • 9space
      9space
      2021-07-12回复只杀不埋
      那沙箱、线上、固定测试环境,多开发测试环境你也能这么搞?
      2021-07-12
      回复
  • 徐超
    徐超
    2021-02-26

    难搞,最好引入工程化工具来帮助实现。不然像workerjs里的文件不能去引入js,就没有办法了。

    2021-02-26
    有用
    回复 1
    • 只杀不埋
      只杀不埋
      2021-04-16
      wx.getAccountInfoSync()区分开发板体验版线上版了解一下
      2021-04-16
      回复
  • 😱ི
    😱ི
    2019-06-11

    有全局变量,一般人我不告诉它

    2019-06-11
    有用
    回复 1
    • 只杀不埋
      只杀不埋
      2021-04-16
      wx.getAccountInfoSync()区分开发板体验版线上版了解一下
      2021-04-16
      回复
  • 金钱豹
    金钱豹
    2018-07-27

    我们是改本机hosts文件

    2018-07-27
    有用
    回复 1
    • 只杀不埋
      只杀不埋
      2021-04-16
      wx.getAccountInfoSync()区分开发板体验版线上版了解一下
      2021-04-16
      回复
  • 工号 9527
    工号 9527
    2018-07-26

    没有

    2018-07-26
    有用
    回复 2
    • 小小生
      小小生
      2018-07-26

      以后会不会有?

      2018-07-26
      回复
    • 只杀不埋
      只杀不埋
      2021-04-16回复小小生
      wx.getAccountInfoSync()区分开发板体验版线上版了解一下
      2021-04-16
      1
      回复
  • 罗思阳
    罗思阳
    2018-07-26

    我们使用的解决方案是:

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

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

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

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


    2018-07-26
    有用
    回复 2
    • 小小生
      小小生
      2018-07-26

      我们现在 定义了一个 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 ....

      2018-07-26
      1
      回复
    • 只杀不埋
      只杀不埋
      2021-04-16
      wx.getAccountInfoSync()区分开发板体验版线上版了解一下
      2021-04-16
      1
      回复
登录 后发表内容