vue2配置不同环境打包指令(vue-cli3)

1.根目录创建环境文件

命名规则:.env.环境名
文件内容可如下:

NODE_ENV =  dev  // 和文件名一致
VUE_APP_XX = XXX // VUE_APP为前缀,后面名称可自定义
VUE_APP_BASE_API = http://10.1.0.100:8000

假设需要配置四个环境,分别是本地、测试、灰度、正式,需要在根目录创建四个文件,分别是
.env.development 本地环境
.env.production_test 测试环境
.env.production_pre 灰度环境
.env.production 线上正式环境
(1).env.development 本地环境

NODE_ENV = 'development'
VUE_APP_CURRENTMODE='development' 
# 接口地址
VUE_APP_BASE_API=''

(2).env.production_test 测试环境

NODE_ENV = 'production_test'
VUE_APP_CURRENTMODE='production_test' 
# 接口地址
VUE_APP_BASE_API=''

(3).env.production_pre 灰度环境

NODE_ENV = 'production_pre'
VUE_APP_CURRENTMODE='production_pre' 
# 接口地址
VUE_APP_BASE_API=''

(4).env.production 线上正式环境

NODE_ENV = 'production'
VUE_APP_CURRENTMODE='production' 
# 接口地址
VUE_APP_BASE_API=''

2.配置打包指令

package.json 的scripts对象中增加--mode XX(XX为环境配置文件名, 如上面的development、production_test、production)变为:

"scripts": {
    "serve": "vue-cli-service serve --mode development",
    "build_test": "vue-cli-service build --mode production_test",
    "build_pre": "vue-cli-service build --mode production_pre",
    "build": "vue-cli-service build --mode production",
    "lint": "vue-cli-service lint"
},

获取配置文件内的信息可以通过获取process.env.NODE_ENV的值进行判断
打包时输入命名:

// 测试
npm run build_test
// 灰度
npm run build_pre
// 正式
npm run build

3.打包生成不同的dist文件夹

vue.config.js 给不同dist文件夹名称, 增加配置:

const outputDir = process.env.NODE_ENV ? process.env.NODE_ENV + "_dist" : "dist"

module.exports = defineConfig({
     outputDir: outputDir,// 新增配置
     devServer: {}
})

使用示例:
项目的api文件夹下的baseUrl文件内容如下:
(1)可以直接使用环境配置文件内的接口地址

let BASE_URL = process.env.VUE_APP_BASE_API
export const baseUrl = BASE_URL

(2)如果除了配置接口地址,还需要配置其他信息,可以在baseUrl文件中进行自定义

let baseUrl = ''
let imgUrl = ''
if (process.env.NODE_ENV === 'development') {
  // 本地接口地址
  baseUrl = ''
  imgUrl = ''
} else if (process.env.NODE_ENV === 'production_test') {
  // 测试接口地址
  baseUrl = ''
  imgUrl = ''
} else if (process.env.NODE_ENV === 'production_pre') {
  // 灰度环境接口地址
  baseUrl = ''
  imgUrl = ''
} else if (process.env.NODE_ENV === 'production') {
  // 正式环境接口地址
  baseUrl = ''
  imgUrl = ''
}
export const BASEURL = baseUrl 
// import { BASEURL } from '@/api/baseUrl'
export const IMGURL = imgUrl
  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值