uniapp 微信小程序多环境配置及使用
创始人
2025-06-01 17:06:55
0

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

定义其他的环境变量 

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

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

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

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

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

 

 在根目录下的 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中会显示在 运行/发行 菜单中

vue2版本中使用

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

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

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

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, "++++++++++++++++++++++++");

 

 

 

相关内容

热门资讯

《水龙吟·次韵章质夫杨花词》... 《水龙吟·次韵章质夫杨花词》原文及译文  苏轼向以豪放著称,但也有婉约之作,这首《水龙吟》即为其中之...
采桑子欧阳修原文及翻译 采桑子欧阳修原文及翻译  采桑子格律为双调四十四字,上下片各四句三平韵。另有添字格,两结句各添二字,...
相思赋的作品原文欣赏 相思赋的作品原文欣赏  天涯远不远?  不远。  人就在天涯,天涯怎么会远?  明月是什么颜色?  ...
《宋书羊欣传》文言文阅读 《宋书羊欣传》文言文阅读  阅读下面的文言文,完成5—9题。  羊欣,字敬元,泰山南城人也。曾祖忱,...
宋词《南乡子·捣衣》的赏析与... 宋词《南乡子·捣衣》的赏析与翻译  【原词】:  南乡子?捣衣①  纳兰性德  鸳瓦②已新霜,欲寄寒...
赵襄主学御原文和翻译 赵襄主学御原文和翻译  文言文是相对白话文而来的,其特征是以文字为基础来写作,注重典故、骈骊对仗、音...
英语教师节祝福语 2020英语教师节祝福语大全  当我们采摘丰收果实的时候,老师留给自己的却是被粉笔灰染白的两鬓白发。...
诗经蒹葭全文 诗经蒹葭全文  《秦风·蒹葭》是中国古代第一部诗歌总集《诗经》中的一首诗。此诗曾被认为是用来讥刺秦襄...
王安石的诗 王安石的诗十首  王安石,是北宋时期著名的`思想家、政治家、文学家、改革家。下面是小编分享的王安石的...
苏轼《蝶恋花·春景》译文及赏... 苏轼《蝶恋花·春景》译文及赏析  蝶恋花·春景  朝代:宋代  作者:苏轼  【原文】  花褪残红青...
黄帝内经四季养生 黄帝内经四季养生  读《黄帝内经》,可以明白身和心和宇宙的关系。以下是黄帝内经四季养生,随小编来看一...
《诗经·汉广》赏析 《诗经·汉广》赏析  《国风·周南·汉广》是先秦现实主义诗集《诗经》中《国风·周南》中的一篇, 是先...
诗经的千古名句 诗经的千古名句(精选50句)  《诗经》是我国第一部诗歌总集,收集了自西周初年至春秋中叶五百多年的诗...
易经讲解:易其至矣乎 易经讲解:易其至矣乎  子曰:易其至矣乎?  夫易,圣人所以崇德而广业也!知崇礼卑,崇效天,卑法地。...
李白《蜀道难》赏析 李白《蜀道难》赏析800字(精选10篇)  《蜀道难》,是中国唐代伟大诗人李白的代表作品。内容多以山...
漫谈地震和四合木说明文阅读含... 漫谈地震和四合木说明文阅读含答案  漫谈地震  前些天,印尼发生了里氏5.6级地震,引起了世人的关注...
波兹曼的诅咒阅读理解及参考答... 波兹曼的诅咒阅读理解及参考答案  波兹曼的诅咒  周国平  ①美国文化传播学家波兹曼的《把我们自己娱...
题张司业诗原文、翻译及赏析 题张司业诗原文、翻译及赏析  题张司业诗 宋朝 王安石  苏州司业诗名老,乐府皆言妙入神。  看似寻...
《周礼春官宗伯典命职丧》文言... 《周礼春官宗伯典命职丧》文言文全文及翻译  全文  典命掌诸侯之五仪诸臣之五等之命。上公九命为伯,其...
文言文《爱莲说》原文及翻译 文言文《爱莲说》原文及翻译  莲花,是古往今来文人笔下高歌咏叹的对象,但大多数文人都是惊叹于它的清姿...