haitaodesign / vue-cli-base

基于Vue CLI 的企业级快速初始化项目模板
5 stars 1 forks source link

[New Feature] Vue项目多环境打包解决方案 #47

Open haitaodesign opened 5 years ago

haitaodesign commented 5 years ago
  1. Vue-cli 环境变量与模式
  2. webpack的mode配置
  3. 根据当前的CI/CD流程制定分环境打包的方案
  4. 通过cli插件的形式进行方案封装
haitaodesign commented 5 years ago

在项目根目录下创建存放环境变量的文件

# 开发环境变量,与测试环境变量一致
env.development  

 # 测试环境变量,对应Git的dev测试发布分支
env.dev                      

# 生产环境变量,对应master发布分支
env.prod                    
haitaodesign commented 5 years ago

在对应的文件里面写入需要的环境变量

haitaodesign commented 5 years ago

修改 package.json 文件里面的 scripts 命令

 "build:prod": "vue-cli-service build --mode prod",
 "build:dev": "vue-cli-service build --mode dev"
haitaodesign commented 5 years ago

在客户端侧使用环境变量

const { VUE_APP_BASE_URL, VUE_APP_AUTH_URL } = process.env
const service = Axios.create({
  baseURL: VUE_APP_BASE_URL + '/v1/'
})

console.log('当前环境地址:', VUE_APP_BASE_URL)
haitaodesign commented 5 years ago

持续部署工具drone.yml配置文件的修改

测试环境跟生产环境的打包命令是不同的,所以需要对drone的build命令进行区分

build-dev:
    image: node:10.15.1-alpine
    commands:
      - yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g
      - yarn run build:dev
    when:
      event: dev
haitaodesign commented 5 years ago

vue-cli-plguin-moor-env插件开发