參考官方文檔
uni-app 項(xiàng)目中配置環(huán)境變量主要有如下三種方式
首先修改package.json文件
"uni-app": {
"scripts": {
"mp-test": {
"title": "測(cè)試環(huán)境",
"env": {
"UNI_PLATFORM": "h5"
},
"define": {
"MP-TEST": true
}
}
}
}

image.png
此時(shí)運(yùn)行和發(fā)行下拉菜單都會(huì)有測(cè)試環(huán)境這個(gè)選項(xiàng)也可以運(yùn)行。
但是手機(jī)模擬器并不能選擇那個(gè)環(huán)境運(yùn)行,運(yùn)行默認(rèn)是開發(fā)環(huán)境。但是我想切換測(cè)試環(huán)境。我是沒有找到怎么切換。所以后來(lái)我選擇 .env配置環(huán)境變量
新建幾個(gè)環(huán)境變量文件
.env.js
.env.dev.js
.env.test.js
.env.prod.js
然后修改.env.js
var EnvChannel = {
DEVELOPMENT:0, //開發(fā)環(huán)境
TEST:1,//測(cè)試環(huán)境
PRODUCTION:2//生產(chǎn)環(huán)境
}
//設(shè)置環(huán)境
const ENV_CHANNEL = EnvChannel.DEVELOPMENT;
if(ENV_CHANNEL == EnvChannel.DEVELOPMENT){
//開發(fā)環(huán)境
ENV_CONFIG = require('.env.dev.js');
}else if(ENV_CHANNEL == EnvChannel.TEST){
//測(cè)試環(huán)境
ENV_CONFIG = require('.env.test.js');
}else if(ENV_CHANNEL == EnvChannel.PRODUCTION){
//生產(chǎn)環(huán)境
ENV_CONFIG = require('.env.prod.js');
}
//給環(huán)境變量process.uniEnv賦值
if (ENV_CONFIG) {
process.uniEnv = {};
for (let key in ENV_CONFIG) {
process.uniEnv[key] = ENV_CONFIG[key];
}
}
修改.env.dev.js 測(cè)試,生產(chǎn)環(huán)境同樣的
const config = {
baseUrl: ''
}
module.exports = config;
然后再main.js
//引用并設(shè)置環(huán)境變量
import '.env.js'
使用
const baseUrl = process.uniEnv.baseUrl;
如果要使用測(cè)試環(huán)境,修改.env.js
//設(shè)置環(huán)境
const ENV_CHANNEL = EnvChannel.TEST;