uniapp微信小程序多環(huán)境配置以及使用教程
前后端分離開發(fā)模式中,無論前后端都有可能區(qū)分不同的環(huán)境配置,開發(fā)環(huán)境(dev)、測(cè)試環(huán)境(test)、線上生產(chǎn)環(huán)境(prod)等,不同環(huán)境的設(shè)置,后端請(qǐng)求api地址等不同,那么在小程序如何設(shè)置多環(huán)境配置呢?
定義其他的環(huán)境變量
之前搞vue的時(shí)候 可以通過 .env的方式配置開發(fā)測(cè)試和線上需要的環(huán)境變量
uniapp中只有 development 和 production 這兩個(gè)條件
vu2版本通過process.env.NODE_ENV可以獲取到
我如果需要其他的變量怎么辦呢: 如 測(cè)試 test等
通過官網(wǎng)我們可以看到示例
在根目錄下的 package.json文件中 (沒有的話通過 npm init -y初始化創(chuàng)建一個(gè))
{ "uni-app": { "scripts": { "dev": { "title": "微信小程序——開發(fā)版", "env": { "ENV_TYPE": "dev", "UNI_PLATFORM": "mp-weixin", "VUE_APP_BASE_URL": "http://127.0.0.1:8080/" } }, "test": { "title": "微信小程序——測(cè)試版", "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中會(huì)顯示在 運(yùn)行/發(fā)行 菜單中
vue2版本中使用
直接通過process.env打印的時(shí)候會(huì)看不到
直接通過process.env.變量名使用就行
console.log(process.env.VUE_APP_BASE_URL,'獲取處于當(dāng)前開發(fā)環(huán)境的url'); console.log(process.env.ENV_TYPE,'獲取當(dāng)前處于哪個(gè)開發(fā)環(huán)境'); console.log(process.env,'process.env++++++++++++');
vue3 vite版中使用
在vue3中獲取不到process,所以需要一些改造
{ "uni-app": { "scripts": { "dev": { "title": "微信小程序——開發(fā)版", "env": { "ENV_TYPE": "dev", "UNI_PLATFORM": "mp-weixin", "VITE_BASE_API": "http://127.0.0.1:8080/" } }, "test": { "title": "微信小程序——測(cè)試版", "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文件夾下創(chuàng)建envConfig.js
// 導(dǎo)出的環(huán)境請(qǐng)求地址 //本地環(huán)境 const dev = { ENV: "dev", VITE_BASE_API: "http://127.0.0.1:8080/dev-api", }; //正式環(huán)境 const pro = { ENV: "pro", VITE_BASE_API: "https://xxx/prod-api", }; //測(cè)試環(huán)境 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"; // 導(dǎo)入 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; //獲取處于當(dāng)前開發(fā)環(huán)境的url let evnName = process.env.config[process.env.UNI_SCRIPT].ENV; //獲取當(dāng)前處于哪個(gè)開發(fā)環(huán)境 console.log("baseURL:", baseURL, "++++++++++++++++++++++++"); console.log("envName:", evnName, "++++++++++++++++++++++++"); console.log("evn:", process.env, "++++++++++++++++++++++++");
總結(jié)
到此這篇關(guān)于uniapp微信小程序多環(huán)境配置以及使用的文章就介紹到這了,更多相關(guān)uniapp微信小程序多環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- UNIAPP實(shí)現(xiàn)微信小程序登錄授權(quán)和手機(jī)號(hào)授權(quán)功能(uniapp做微信小程序)
- 前端uniapp微信小程序跨域問題的解決方法
- uniapp實(shí)現(xiàn)微信小程序支付(前端)詳細(xì)代碼
- uniapp微信小程序支付前端生成簽名并調(diào)起微信支付全部代碼
- uniapp微信小程序使用webview嵌套u(yù)niappH5并實(shí)現(xiàn)通信詳細(xì)步驟
- uniapp開發(fā)微信小程序主包太大和vendor.js過大無法打包問題解決
- uniapp微信小程序axios庫(kù)的封裝及使用詳細(xì)教程
- uniapp微信小程序授權(quán)登錄并獲取手機(jī)號(hào)的方法
- uniapp微信小程序訂閱消息發(fā)送服務(wù)通知超詳細(xì)教程
- uniapp 微信小程序之金額展示套餐
相關(guān)文章
使用JSX實(shí)現(xiàn)Carousel輪播組件的方法(前端組件化)
做這個(gè)輪播圖的組件,我們先從一個(gè)最簡(jiǎn)單的 DOM 操作入手。使用 DOM 操作把整個(gè)輪播圖的功能先實(shí)現(xiàn)出來,然后在一步一步去考慮怎么把它設(shè)計(jì)成一個(gè)組件系統(tǒng)2021-04-04IE FF OPERA都可用的彈出層實(shí)現(xiàn)代碼
多瀏覽器的彈出層效果核心代碼。需要的朋友可以測(cè)試下這個(gè)是從正在使用的網(wǎng)站中扒下來的。2009-09-09記錄微信小程序 height: calc(xx - xx);無效問題
這篇文章主要介紹了微信小程序 - height: calc(xx - xx);無效 問題,文中給大家擴(kuò)展介紹下jquery點(diǎn)擊添加樣式,再次點(diǎn)擊移除樣式的實(shí)例代碼,需要的朋友可以參考下2019-12-12layui實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了layui實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07基于JS實(shí)現(xiàn)文字轉(zhuǎn)語音即文本朗讀
這篇文章主要為大家詳細(xì)介紹了JavaScript如何利用SpeechSynthesis實(shí)現(xiàn)文字轉(zhuǎn)語音即文本朗讀的功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10微信小程序使用radio顯示單選項(xiàng)功能【附源碼下載】
這篇文章主要介紹了微信小程序使用radio顯示單選項(xiàng)功能,涉及針對(duì)radio組件事件響應(yīng)相關(guān)操作技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下2017-12-12