【微信小程序篇】- 多环境(版本)配置

这篇具有很好参考价值的文章主要介绍了【微信小程序篇】- 多环境(版本)配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近自己在尝试使用AIGC写一个小程序,页面、样式、包括交互函数AIGC都能够帮我完成(不过这里有一点问题AIGC的上下文关联性还是有限制,会经常出现对于需求理解跑偏情况,需要不断的重复强调,并纠正错误,才能得到你想要的内容)。

因为最近某些原因,所处的环境网络没办法科学上网,剩下的网络交互需要自己完成。

多环境(版本)配置

我们都知道小程序开发主要有三个版本:开发版,体验版,正式版;我们如何让三个环境访问的环境信息不同呢?这个就需要进行多环境(版本)配置信息了。

1.多环境(版本)配置封装

最近在网上看到了很多人做多版本封装的时候,用到了这样的配置:
env.config.js

const envConf = {
    // 开发版-本地环境
    develop: {
        mode: 'dev',
        DEBUG: false,
        VCONSOLE: true,
        appid: 'appid',
        APP_BASE_URL: 'API地址',
    },
    // 体验版-测试环境
    trial: {
        mode: 'test',
        DEBUG: false,
        VCONSOLE: false,
        appid: 'appid',
        APP_BASE_URL: 'API地址',
    },
    // 正式版-正式环境
    release: {
        mode: 'prod',
        DEBUG: false,
        VCONSOLE: false,
        appid: 'appid',
        APP_BASE_URL: 'API地址',
    }
}
module.exports = {
    env: envConf[__wxConfig.envVersion]
}

2.配置需要注意的问题

我看到这里对于__wxConfig这个对象有点不太了解,就习惯性的把配置改为:
env.config.js

const envConf = {
    // 开发版-本地环境
    develop: {
        mode: 'dev',
        DEBUG: false,
        VCONSOLE: true,
        appid: 'appid',
        APP_BASE_URL: 'API地址',
    },
    // 体验版-测试环境
    test: {
        mode: 'test',
        DEBUG: false,
        VCONSOLE: false,
        appid: 'appid',
        APP_BASE_URL: 'API地址',
    },
    // 正式版-正式环境
    prod: {
        mode: 'prod',
        DEBUG: false,
        VCONSOLE: false,
        appid: 'appid',
        APP_BASE_URL: 'API地址',
    }
}
module.exports = {
    env: envConf[__wxConfig.envVersion]
}

通过下面的方式使用:

env.env.属性名

在把小程序代码发布到体验版的时候,我通过扫体验版的二维码,发现微信小程序的页面数据都没有加载出来,打开调试模式,发现抛出了一下错误:


Error during evaluating file "pages/***/***.js"
undefined is not an object (evaluating 't.default.env.APP_BASE_URL')

这才发现,获取APP_BASE_URL之前,env是undefined,这个时候感觉应该是__wxConfig.envVersion的值在envConf字典中没有,在微信小程序开发社区搜索了__wxConfig.envVersion,发现了这篇文章,文章中说明了__wxConfig.envVersion返回的值有哪些:

其中的envVersion为运行环境,有以下几个值
envVersion: ‘develop’, //开发版
envVersion: ‘trial’, //体验版
envVersion: ‘release’, //正式版
其中的platform为运行的平台
有Android ios devtools 等
之前一直不知道微信小程序可以用__wxConfig.envVersion区分小程序体验版,开发板,正式版
目前在官方文档没有查到相关资料,但是亲测可用
envVersion 类型为字符串
envVersion: ‘develop’, //开发版
envVersion: ‘trial’, //体验版
envVersion: ‘release’, //正式版

我把配置改了回去:
env.config.js

const envConf = {
    // 开发版-本地环境
    develop: {
        mode: 'dev',
        DEBUG: false,
        VCONSOLE: true,
        appid: 'appid',
        APP_BASE_URL: 'API地址',
    },
    // 体验版-测试环境
    trial: {
        mode: 'test',
        DEBUG: false,
        VCONSOLE: false,
        appid: 'appid',
        APP_BASE_URL: 'API地址',
    },
    // 正式版-正式环境
    release: {
        mode: 'prod',
        DEBUG: false,
        VCONSOLE: false,
        appid: 'appid',
        APP_BASE_URL: 'API地址',
    }
}
module.exports = {
    env: envConf[__wxConfig.envVersion]
}

3.微信小程序官方提供获取环境函数

我在想,__wxConfig.envVersion毕竟不是官方提供的,想看看官方是否提供获取小程序环境的函数,发现还真有:wx.getAccountInfoSync()
具体函数返回的内容,大家可以到官方函数地址自己详细阅读。
修改配置:
env.config.js

const envConf = {
    // 开发版-本地环境
    develop: {
        mode: 'dev',
        DEBUG: false,
        VCONSOLE: true,
        appid: '***',
        APP_BASE_URL: 'API地址',
    },
    // 体验版-测试环境
    trial: {
        mode: 'test',
        DEBUG: false,
        VCONSOLE: false,
        appid: '***',
        VUE_APP_BASE_URL: 'API地址',
    },
    // 正式版-正式环境
    release: {
        mode: 'prod',
        DEBUG: false,
        VCONSOLE: false,
        appid: '***',
        VUE_APP_BASE_URL: 'API地址',
    }
}
module.exports = {
    env: envConf[wx.getAccountInfoSync().miniProgram.envVersion]
}

OK,大功告成。文章来源地址https://www.toymoban.com/news/detail-680995.html

到了这里,关于【微信小程序篇】- 多环境(版本)配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序商城搭建--后端+前端+小程序端

    前端技术:React、AntdesignPro、umi、JavaScript、ES6、TypeScript、 小程序 后端技术:Springboot、Mybatis、Spring、Mysql 后端采用Springboot搭配前端React进行开发,完成用户管理、轮播图管理、一级分类管理、商品管理、日志管理。 支持多图上传功能,封面图。 采用JWT+拦截器进行接口拦截

    2024年02月05日
    浏览(35)
  • 微信小程序学习—配置HBuilder运行微信小程

    第一次接触微信小程序开发。在网上找了个项目想要运行,遇到了一些问题,记录一下运行的问题,以及解决方式,供大家参考。 遇到的报错  于是上网搜索结果 第一步 在微信小程序中打开 设置—安全设置 打开服务端口 但是我还是报错 第二步 检查HBuilder中的微信小程序运

    2024年02月13日
    浏览(34)
  • 【微信小程序开发】微信小程序集成腾讯位置项目配置

    腾讯位置服务官网 当然没账号的要先注册一个账号 在我的应用里创建一个新的应用,印象中需要小程序ID,去微信开发者工具里面找到自己的小程序ID填入即可 添加 key 中勾选勾选 WebServiceAPI 从官网里下载,我这里下载的是 v1.2 打开微信开发者工具 在查找小程序ID的地方下滑

    2024年02月02日
    浏览(45)
  • uniapp-微信小程序篇

    一、创建项目(以Vue3+TS 项目为示例) 可以通过命令行的方式创建也可以通过HBuilderX进行创建(通过HBuilderX创建的项目建议选择最简单的模板),个人建议使用命令行方式。 (1) 命令行方式: 如下载失败:可以直接去gitee官网下载 (2) HBuilderX 创建 通过HBuilderX没有默认的Vue3+Ts模板

    2024年02月12日
    浏览(30)
  • 【微信小程序篇】-请求封装

    最近自己在尝试使用AIGC写一个小程序,页面、样式、包括交互函数AIGC都能够帮我完成(不过这里有一点问题AIGC的上下文关联性还是有限制,会经常出现对于需求理解跑偏情况,需要不断的重复强调,并纠正错误,才能得到你想要的内容)。 因为最近某些原因,所处的环境网络

    2024年02月13日
    浏览(24)
  • 分析一个项目(微信小程序篇)三

    目录 接下来分析接口方面: home接口: categories接口:  details接口:  login接口: 分析一个项目讲究的是如何进行对项目的解析分解,进一步了解项目的整体结构,熟悉项目的结构,能够知道每个组件所处在哪个位置,发挥什么作用。 首先对于基础接口定义为本地接口:$h

    2024年02月02日
    浏览(29)
  • 分析一个项目(微信小程序篇)一

    分析一个项目讲究的是如何进行对项目的解析分解,进一步了解项目的整体结构,熟悉项目的结构,能够知道每个组件所处在哪个位置,发挥什么作用。 本次所介绍的是微信小程序项目(甑选商场): 其首页页面如下: 其分类页面如下: 其发现页面如下: 其购物车页面如

    2024年01月16日
    浏览(32)
  • 分析一个项目(微信小程序篇)二

    目录 首页: 发现: 购物车: 我的: 分析一个项目讲究的是如何进行对项目的解析分解,进一步了解项目的整体结构,熟悉项目的结构,能够知道每个组件所处在哪个位置,发挥什么作用。 接下来我们进一步分析本次项目 : 各个页面的分布情况: 其页面如下:   搜索框

    2024年02月03日
    浏览(27)
  • 前端阿里云OSS直传,微信小程序版本

    网络上许多的文章资料,全是使用阿里云官方的SDK,ali-oss插件去做直传。可是各位素未谋面的朋友要注意,这个 SDK它支持web环境 使用,也就是 PC端浏览器 。 当 项目环境 切换到 微信小程序 ,是无法使用这种方式的,当然官方也有给出微信小程序直传的文档,继续往下看。

    2024年02月07日
    浏览(37)
  • 微信小程序篇之与vue有何不同

    大家好!又怀着兴奋的心情去学习了微信小程序,框架这个东西嘛,随着时代的新潮一波又一波的到来,一波又一波的被冲走。为什么要拿vue与小程序开发做对比呢? 这是因为我相信大家不会在没有学习到vue之前就把小程序给学习了,哈哈哈。这篇文章最好给已经接触过别的

    2024年02月09日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包