uniapp 微信小程序多环境配置及使用

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

前后端分离开发模式中,无论前后端都有可能区分不同的环境配置,开发环境(dev)、测试环境(test)、线上生产环境(prod)等,不同环境的设置,后端请求api地址等不同,那么在小程序如何设置多环境配置呢?

定义其他的环境变量 

之前搞vue的时候 可以通过 .env的方式配置开发测试和线上需要的环境变量

uniapp中只有 development 和 production 这两个条件

vu2版本通过process.env.NODE_ENV可以获取到

我如果需要其他的变量怎么办呢: 如 测试 test等

补充

 基于评论里的小伙伴提出在微信开发者工具中点击上传后域名问题:

如果你运行的是开发版或者是测试版,而你线上也就是你在微信公众平台配置域名是正式的,这时候你想上传正式的包,你应该切换成微信小程序——正式版运行到微信开发者工具在点击上传按钮进行打包上传

通过官网我们可以看到示例

uniapp 微信小程序多环境配置及使用

 在根目录下的 package.json文件中 (没有的话通过 npm init -y初始化创建一个)

{
  "uni-app": {
    "scripts": {
      "dev": {
        "title": "微信小程序——开发版",
        "env": {
          "ENV_TYPE": "dev",
          "UNI_PLATFORM": "mp-weixin",
          "VUE_APP_BASE_URL": "http://127.0.0.1:8080/"
        }
      },
      "test": {
        "title": "微信小程序——测试版",
        "env": {
          "ENV_TYPE": "test",
          "UNI_PLATFORM": "mp-weixin",
          "VUE_APP_BASE_URL": "http://test.domain/"
        }
      },
      "pro": {
        "title": "微信小程序——正式版",
        "env": {
          "ENV_TYPE": "pro",
          "UNI_PLATFORM": "mp-weixin",
          "VUE_APP_BASE_URL": "http://pro.domain/"
        }
      }
    }
  },
  "name": "xm-uni-app",
  "version": "1.0.0",
  "description": "{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}",
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": ""
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

保存之后,在HBuilderX中会显示在 运行/发行 菜单中

uniapp 微信小程序多环境配置及使用

uniapp 微信小程序多环境配置及使用

vue2版本中使用

直接通过process.env打印的时候会看不到

uniapp 微信小程序多环境配置及使用

 直接通过process.env.变量名使用就行

console.log(process.env.VUE_APP_BASE_URL,'获取处于当前开发环境的url');
console.log(process.env.ENV_TYPE,'获取当前处于哪个开发环境');
console.log(process.env,'process.env++++++++++++');

uniapp 微信小程序多环境配置及使用

uniapp 微信小程序多环境配置及使用

vue3 vite版中使用

在vue3中获取不到process,所以需要一些改造

{
  "uni-app": {
    "scripts": {
      "dev": {
        "title": "微信小程序——开发版",
        "env": {
          "ENV_TYPE": "dev",
          "UNI_PLATFORM": "mp-weixin",
          "VITE_BASE_API": "http://127.0.0.1:8080/"
        }
      },
      "test": {
        "title": "微信小程序——测试版",
        "env": {
          "ENV_TYPE": "test",
          "UNI_PLATFORM": "mp-weixin",
          "VITE_BASE_API": "http://test.domain/"
        }
      },
      "pro": {
        "title": "微信小程序——正式版",
        "env": {
          "ENV_TYPE": "pro",
          "UNI_PLATFORM": "mp-weixin",
          "VITE_BASE_API": "http://pro.domain/"
        }
      }
    }
  }
}

 在src/utils文件夹下创建envConfig.js

// 导出的环境请求地址
//本地环境
const dev = {
  ENV: "dev",
  VITE_BASE_API: "http://127.0.0.1:8080/dev-api",
};

//正式环境
const pro = {
  ENV: "pro",
  VITE_BASE_API: "https://xxx/prod-api",
};

//测试环境
const test = {
  ENV: "test",
  VITE_BASE_API: "https://xxx/test-api",
};

export default {
  dev,
  test,
  pro,
};

 在vite.config.js添加配置

import { defineConfig } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import ENV_CONFIG from "./utils/envConfig.js";
import { resolve } from "path"; // 导入 path 模块,帮助我们解析路径

export default defineConfig(() => {
  return {
    server: {
      port: "3002",
    },
    resolve: {
      alias: {
        "@": resolve(__dirname, "/src"),
      },
    },
    plugins: [uni()],
    define: {
      "process.env.config": ENV_CONFIG, //配置一
      'process.env': process.env, //配置二
    },
  };
});

 使用方式

let baseURL = process.env.config[process.env.UNI_SCRIPT].VITE_BASE_API; //获取处于当前开发环境的url
let evnName = process.env.config[process.env.UNI_SCRIPT].ENV; //获取当前处于哪个开发环境
console.log("baseURL:", baseURL, "++++++++++++++++++++++++");
console.log("envName:", evnName, "++++++++++++++++++++++++");
console.log("evn:", process.env, "++++++++++++++++++++++++");

 uniapp 微信小程序多环境配置及使用

 uniapp 微信小程序多环境配置及使用文章来源地址https://www.toymoban.com/news/detail-431624.html

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

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

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

相关文章

  • uniapp H5页面如何判断是在微信小程序环境还是微信环境中运行

    最近做的一个项目h5页面,甲方即要嵌套到app中,又要嵌套到小程序中,有个需求是在app中显示首页的按钮,在小程序中打开要隐藏掉这个首页的按钮,最终我的解决方案如下! 解决方案:引入微信SDK文件:JSSDK,通过微信SDK方法判断。 1、首先,先引入微信sdk文件 2、记得调

    2024年02月11日
    浏览(69)
  • 前后端分离项目—微信小程序的创建及app.json的配置(二)

    本人框架入门,此处记录完成一个前后端分离项目笔记,若有错误,还望指正,持续更新中… 微信公众平台 (qq.com) 微信开放文档 (qq.com) 4.1获取appid 登录微信公众平台获取自己对应的appid并创建项目,不选择云服务,使用js模板。 5.1添加页面 创建完成微信小程序项目后,在

    2024年02月16日
    浏览(41)
  • uniapp判断当前运行环境 app h5 微信小程序

    仅3.4.10+版本以上才支持,如果您的hbuilderX版本不是这个版本的需要先升级一下版本 hbuilderx下载 选择3.4.11及以上版本 uniPlatform   可取值如下:

    2024年02月11日
    浏览(65)
  • uniapp判断当前运行环境 app h5 微信小程序 百度小程序

    hbuilderX最新版本现在已经支持在代码中获取当前所处环境 仅3.4.10+版本以上才支持,如果您的hbuilderX版本不是这个版本的需要先升级一下版本 hbuilderx下载 选择3.4.11及以上版本 uniPlatform 可取值如下: 值 生效条件 app App web H5 mp-weixin 微信小程序 mp-alipay 支付宝小程序 mp-baidu 百度

    2024年02月11日
    浏览(60)
  • 微信小程序uniapp+vue3+ts+pinia的环境搭建

    一.创建uniapp项目 通过vue-cli创建 二.安装依赖: 1.pnpm i 2.运行项目: 将package.json的 3.导入微信小程序开发工具 打开微信开发者工具, 导入 distdevmp-weixin 运行 三. TS 类型校验 在tsconfig.json文件中\\\"compilerOptions\\\"配置项内添加\\\"ignoreDeprecations\\\": “5.0” 额外配置Ts类型校验: 安装类型

    2024年04月10日
    浏览(73)
  • uniapp微信小程序用户隐私保护通用配置

    微信小程序官方公告《关于小程序隐私保护指引设置的公告》 需要处理的隐私接口《插件用户隐私保护说明内容介绍》 1.2023 年 9 月 15 号之前,默认不会启用隐私相关功能,所以检测不到需要弹窗的情况,可以在 manifest.json 中配置 \\\"__usePrivacyCheck__\\\": true 之后,接口才可以检测

    2024年02月09日
    浏览(56)
  • uniapp 配置chooseLocation微信小程序腾讯地图选点

    在uniapp中使用地图选点 搜索功能,回显功能,移动选点功能 使用到的API是 uni.chooseLocation 详细看一下都有哪些属性 latitude :目标地纬度 Number longitude :目标地经度Number keyword:搜索,仅App平台支持 String success:接口调用成功的回调函数 Function success 返回参数说明 name

    2024年02月12日
    浏览(63)
  • uniapp 微信小程序配置全局主题色、实现动态修改主题色

            本文的实现目标是全局配置小程序的整体主题色,包括本地图标的色调。第一步实现在本地可以统一修改整体的主题色以及本地图标的颜色;第二步实现通过后台接口动态调整小程序前端的整体主题色以及本地图标颜色。本地图标的主题色调整需要使用svg格式的图片

    2024年02月01日
    浏览(47)
  • uniapp微信小程序系列(2)pages.json实用配置详解

    本篇主要介绍其中几个实用的配置: 1. 配置应用级别样式、tabBar样式 2. 配置前端页面路由、分包路由 3. 配置easycom全局组件(组件无需import引入直接使用) 创建一个包含首页、我的两个tabBar模块的应用布局,配置参数如下: 详细配置功能,请参考配置后的注释 以下配置中

    2023年04月08日
    浏览(75)
  • uniapp微信小程序嵌入页面web-view配置

    uniapp开发微信小程序的时候, 有时候需要嵌入H5页面 可以使用小程序自带的  web-view  组件相当于 HTML页面中的 iframe  1.配置业务域名 开发管理 ---开发设置 ---业务域名   然后去配置你的业务域名就可以了   2.页面中使用 web-view 使用起来还是很方便的 uniapp提供属性可以具体

    2024年02月11日
    浏览(70)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包