参考官方文档
uni-app 项目中配置环境变量主要有如下三种方式
首先修改package.json文件
"uni-app": {
"scripts": {
"mp-test": {
"title": "测试环境",
"env": {
"UNI_PLATFORM": "h5"
},
"define": {
"MP-TEST": true
}
}
}
}
此时运行和发行下拉菜单都会有测试环境这个选项也可以运行。
但是手机模拟器并不能选择那个环境运行,运行默认是开发环境。但是我想切换测试环境。我是没有找到怎么切换。所以后来我选择 .env配置环境变量
新建几个环境变量文件
.env.js
.env.dev.js
.env.test.js
.env.prod.js
然后修改.env.js
var EnvChannel = {
DEVELOPMENT:0, //开发环境
TEST:1,//测试环境
PRODUCTION:2//生产环境
}
//设置环境
const ENV_CHANNEL = EnvChannel.DEVELOPMENT;
if(ENV_CHANNEL == EnvChannel.DEVELOPMENT){
//开发环境
ENV_CONFIG = require('.env.dev.js');
}else if(ENV_CHANNEL == EnvChannel.TEST){
//测试环境
ENV_CONFIG = require('.env.test.js');
}else if(ENV_CHANNEL == EnvChannel.PRODUCTION){
//生产环境
ENV_CONFIG = require('.env.prod.js');
}
//给环境变量process.uniEnv赋值
if (ENV_CONFIG) {
process.uniEnv = {};
for (let key in ENV_CONFIG) {
process.uniEnv[key] = ENV_CONFIG[key];
}
}
修改.env.dev.js 测试,生产环境同样的
const config = {
baseUrl: ''
}
module.exports = config;
然后再main.js
//引用并设置环境变量
import '.env.js'
使用
const baseUrl = process.uniEnv.baseUrl;
如果要使用测试环境,修改.env.js
//设置环境
const ENV_CHANNEL = EnvChannel.TEST;