uni-app cli创建配置多环境读取配置文件信息

在项目src下创建以下配置文件

在package.json中添加以下代码

VUE_APP_ENV:用来区分环境 NODE_ENV:用来定死打包目录,只会打包在dist/build/xxx下 ,因为是用的是vue-cli3的架子,所以环境变量需要使用 VUE_APP_ 开头

"build-dev": "npm run build:dev",

"build:dev": "cross-env VUE_APP_ENV=development NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build",

"build-qa": "npm run build:qa",

"build:qa": "cross-env VUE_APP_ENV=qa NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build",

"build-uat": "npm run build:uat",

"build:uat": "cross-env VUE_APP_ENV=uat NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build",

"build-prd": "npm run build:prd",

"build:prd": "cross-env VUE_APP_ENV=production NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build",

1

2

3

4

5

6

7

8

env.js文件下添加以下代码

(function() {

let ENV_VAR = null

console.log(process.env)

// 只开发 android跟ios

switch (process.env.VUE_APP_PLATFORM) {

case 'app-plus':

//访问路径

ENV_VAR = require('env.'+ process.env.VUE_APP_ENV +'.js');

break

case 'h5':

//访问路径

ENV_VAR = require('env.'+ process.env.VUE_APP_ENV +'.js');

break

default:

console.warn('error')

break

}

if(ENV_VAR){

process.uniEnv = Object.create({})

for (let key in ENV_VAR) {

process.uniEnv[key] = ENV_VAR[key];

}

}

})()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

app.vue中引入 env.js

import 'env';

1

各个配置文件中的代码信息,这边只贴了开发环境

const UNI_APP = {

//开发环境

BaseUrl:'',

env:'development',

}

module.exports = UNI_APP

1

2

3

4

5

6

7

接下来执行打包dev环境命令

这边可以看到咱们成功读取到配置文件中的信息啦。

使用process.uniEnv在js中就可以获取到配置文件中整个对象