前端项目部署的环境每每是多环境的,最熟悉的例如:测试环境,生产环境。不一样的环境下每每api接口的域名地址是不一样的,那麽就会存在一个问题,不一样环境下项目打包部署前都须要咱们去手动更改域名地址,岂不是很麻烦,甚至会出现忘记更改或者关系搞反的状况,那怎么办呢?莫慌,今天就来唠唠vue分环境打包这些事。html
"scripts": {
"dev": "vue-cli-service serve", //本地运行,会把process.env.NODE_ENV的值设置为'development'(默认)
"build:dev": "vue-cli-service build --mode dev",//dev模式下打包(测试服打包),会把process.env.NODE_ENV的值设置为'.env.dev文件中NODE_ENV声明的值'
"build": "vue-cli-service build"//正式服打包,会把process.env.NODE_ENV的值设置为'production'(默认)
},
复制代码
注意:
1.命令"build:dev"是能够自定义的,不是固定写法,例如你能够彻底声明成"build-dev"等任何其余字段.
2.--mode '名称' 必须与如下步骤2中的.env.'名称' 的'模式名称'字段保持一致,这里是必须滴. 前端
3.多环境下的应用(以不一样生产环境下的api接口域名地址举例)vue
<!--request.js-->
let env = process.env.NODE_ENV === 'development' ? 'development': process.env.VUE_APP_TITLE;
const baseURL = (env === 'development' || env === 'build_dev') ? store.state.testURL : store.state.baseURL;
复制代码
4.打包
webpack
npm run build:dev 测试服打包(package.json 中定义)
npm run build 正式服打包
复制代码
至此vue-cli 3.0中项目分环境打包方式就基本完毕,如下是小弟思考的关于小程序实现相似于分环境动态切换接口域名的方案,能够讨论讨论,嘿嘿.web
小程序中__wxConfig.envVersion能够用来区分小程序体验版,开发板,正式版. envVersion 类型为字符串vue-cli
envVersion: 'develop', //开发版npm
envVersion: 'trial', //体验版json
envVersion: 'release', //正式版小程序
这样咱们就能够变通的来实现小程序中动态切换域名,避免手动注释切换的方式.api
不积跬步,无以致千里;不积小流,无以成江海。