当前位置: 首页 > Web前端 > vue.js

VUE前端搭建误区与多环境处理

时间:2023-04-01 02:02:49 vue.js

VUE开发过程中难免会遇到多环境的情况,开发、sit(stage)、uat、生产环境等,很多人误以为npm构建时,指定的build:uat,他们认为process.env.NODE_ENV就是uat,其实不是。经过笔者的实践发现,除了build::prod构建的package,process.env.NODE_ENV是production,其他都是development。这让想区分development、stage和uat环境的同学很迷惑。针对这种情况,可以采用如下的多环境处理方案:1、在package.json中添加多环境标识“scripts”:{"dev":"vue-cli-serviceserve","lint":"eslint--ext.js,.vuesrc","build:prod":"vue-cli-servicebuild--modeproduction","build:uat":"vue-cli-servicebuild--modeuat",“build:stage”:“vue-cli-servicebuild--modestaging”,“preview”:“nodebuild/index.js--preview”,“new”:“plop”,“svgo”:“svgo-fsrc/icons/svg--config=src/icons/svgo.yml","test:unit":"jest--clearCache&&vue-cli-servicetest:unit","test:ci":"npmrunlint&&npmruntest:unit"},2.添加多环境配置文件:3.在每个环境的配置文件中添加环境标识(VUE_APP_MODE),如下图:4.后面可以在代码中针对不同的环境进行特殊处理,如下:注意VUE配置文件中的变量定义需要以VUE_APP_开头,否则变量v代码中获取的alue为空,比如你定义了一个变量名为:payUrl,如果你想在代码中获取这个变量值,使用process.env.payUrl获取的值是undefined,需要改成VUE_APP_前缀,比如VUE_APP_PAY_URL,然后可以在代码中使用process.env.VUE_APP_PAY_URL获取对应的配置项值。