前后端分离模式下,不同的环境如开发环境(dev)、测试环境(test)、生产环境(prod)等,不同环境后端数据库、api地址等可能都不同 。
uni-app中只有development和production两个环境
以配置api地址为例
方案1
javascript
const developmentUrl = 'http://102.168.101.222:10086/';
const productionUrl = 'http://xxx.xxx.xxx.xxx:xxxxx/';
const baseUrl = process.env.NODE_ENV === 'development' ? developmentUrl : productionUrl;
//uni-app 可通过 process.env.NODE_ENV 判断当前环境是开发环境还是生产环境。一般用于连接测试服务器或生产服务器的动态切换
// 假设只需要对单一平台配置,可以 package.json 中配置,在 HBuilderX 的运行和发行菜单里会多一个出来。https://uniapp.dcloud.io/collocation/package
fetchApi:async function(url,requestType,data,asyncFlag=true,header){
var fetchUrl=baseUrl + url;
....
}
方案2
javascript
//.env.development文件
VITE_API_URL=http://http://102.168.101.222:10086/
javascript
//.env.production文件
VITE_API_URL=http://xxx.xxx.xxx.xxx:xxxxx/
需要使用的到时,如
javascript
config: {
baseURL: import.meta.env.VITE_API_URL,
...
}
建议使用方案2,将生产环境配置与开发环境配置区分在不同文件,更加清晰。