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

VUE3多环境配置(非常规风骚操作)

时间:2023-03-31 17:08:21 vue.js

常规操作这是一种通过修改vue.config.js而不是新建env文件来配置环境变量的方法,可以减少配置文件数量和数量根目录文件,使配置更易于阅读和修改,并使目录和代码更干净。(这都是主观感受,欢迎小伙伴们拍拍)通过vue-cli-service--modelocal"scripts":{"serve-local":"vue-cli"修改package.json指定哪个运行环境为"scripts"-serviceserve--port8806--modelocal","serve-dev":"vue-cli-serviceserve--port8806--modedevelopment","serve-prod":"vue-cli-serviceserve--port8806--modeproduction","build":"vue-cli-servicebuild--modeproduction","lint":"vue-cli-servicelint"},添加一个.env文件来创建一个新的.env为每个mode.[mode]文件,值指定env文件中的变量,VUE_APP_SERVER_URL="localUrl".....例如在config.js中导入环境变量exportconstSERVICE_URL=process.env.VUE_APP_SERVICE_URL该项目;问题是每个mode对应一个env文件,local、dev、prod这三个mode是3个文件。如果有其他测试服务器,默认将env文件添加到根目录。如果能创建一个专门的env文件夹就更好了。env文件全部以文本显示,不便于阅读和修改。解决办法就是照常修改package.json和vue.config.js。通过process.VUE_CLI_SERVICE.mode获取--mode的值,根据mode方法的值传入js,设置环境变量。如果只在vue.config.js文件中配置环境变量不够优雅,可以通过js来组织环境变量文件。欢迎大家举一反三。constmode=process.VUE_CLI_SERVICE.modeconsole.log("mode=",mode);if(mode=="local"){process.env.VUE_APP_SERVICE_URL="localUrl"process.env.VUE_APP_PLATFORM="/same"}elseif(mode=="development"){process.env.VUE_APP_SERVICE_URL="devUrl"process.env.VUE_APP_PLATFORM="/same"}elseif(mode=="production"){process.env.VUE_APP_SERVICE_URL="prodUrl"process.env.VUE_APP_PLATFORM="/same"}module.exports={publicPath:'./'};不知道这样配置环境变量是不是更舒服?欢迎朋友们留下宝贵的意见和建议!在项目中的使用与常规用法相同。如果觉得有帮助,请转发并点个赞。