vue cli3创建测试打包环境(通过development、production、alpha指定不同的接口地址)...

本文介绍如何在Vue项目中配置不同的环境变量,包括开发、测试和生产环境,通过修改.vue-cli-service、.env文件及vue.config.js实现不同环境的baseUrl设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考地址

前言:项目一般有开发环境,测试环境,生产环境;vue cli内置有开发和生产环境,可以用process.env.NODE_ENV区分,有时候我们和后台同事需要本地连接调试代码,又需要连接测试环境调试,发布的还有生产环境。关靠NODE_ENV无法区分3种baseUrl。下面加一种alpha环境变量,和production打包就productionSourceMap配置有区别,用于测试环境方便查看源码调试。

1、创建vue cli环境变量

  • 在项目根目录创建文件 .env.build 编辑内容为
NODE_ENV      = 'production'
VUE_APP_BUILD = 'production'
  • 在项目根目录创建文件 .env.alpha 编辑内容为
NODE_ENV      = 'production'
VUE_APP_BUILD = 'alpha'

两个文件NODE_ENV值都为production,以消除vue cli内部使用NODE_ENV变量导致打包出现差异

2、修改package.json启动模式

{
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build --mode build",
    "alpha": "vue-cli-service build --mode alpha"
  }
}

build用户生产环境打包,alpha用于测试环境打包

3、修改vue.config.js配置

module.exports = {
  publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
  lintOnSave: process.env.NODE_ENV !== 'production',
  productionSourceMap: process.env.VUE_APP_BUILD !== 'production' // 生产环境去掉map文件
}

4、不同环境使用不同url

const dev = '/test'
const alp = 'http://192.168.1.31:8443/api'
const pro = 'http://111.111.111.111:8443/api'

export const baseURL = process.env.NODE_ENV === 'development' ? dev : process.env.VUE_APP_BUILD === 'production' ? pro : alp

 通过process.env.VUE_APP_BUILD可以取到配置在.env.[mode]文件里面的值

 注:mode在build环境下为.env.build文件下VUE_APP_BUILD配置的值

转载于:https://my.oschina.net/kaikai1/blog/3066808

{ "name": "iview-admin", "version": "2.0.0", "author": "Lison<lison16new@163.com>", "private": false, "scripts": { "dev": "vue-cli-service serve --open --mode development", "dev:prod": "vue-cli-service serve --open --mode production", "build": "vue-cli-service build", "build:dev": "vue-cli-service build --mode development", "dev-to-oss": "node deploy.js dat", "build:dev-to-oss": "vue-cli-service build --mode development && node deploy.js dat", "build:prod": "vue-cli-service build --mode production", "prod-to-oss": "node deploy.js prod", "build:prod-to-oss": "vue-cli-service build --mode production && node deploy.js prod", "oss:all": "yarn build:dev-to-oss && yarn build:prod-to-oss", "lint": "vue-cli-service lint", "test:unit": "vue-cli-service test:unit", "test:e2e": "vue-cli-service test:e2e" }, "dependencies": { "ali-oss": "^6.17.1", "axios": "^0.18.0", "clipboard": "^2.0.0", "codemirror": "^5.38.0", "countup": "^1.8.2", "cropperjs": "^1.2.2", "dayjs": "^1.7.7", "echarts": "^4.0.4", "html2canvas": "^1.0.0-alpha.12", "iview": "^3.2.2", "iview-area": "^1.5.17", "js-cookie": "^2.2.0", "simplemde": "^1.11.2", "sortablejs": "^1.7.0", "tree-table-vue": "^1.1.0", "v-org-tree": "^1.0.6", "vue": "^2.5.10", "vue-i18n": "^7.8.0", "vue-router": "^3.0.1", "vuedraggable": "^2.16.0", "vuex": "^3.0.1", "wangeditor": "^4.7.15", "xlsx": "^0.13.3" }, "devDependencies": { "@vue/cli-plugin-babel": "^3.0.1", "@vue/cli-plugin-eslint": "^3.0.1", "@vue/cli-plugin-unit-mocha": "^3.0.1", "@vue/cli-service": "^3.0.1", "@vue/eslint-config-standard": "^3.0.0-beta.10", "@vue/test-utils": "^1.0.0-beta.10", "chai": "^4.1.2", "eslint-plugin-cypress": "^2.0.1", "less": "^2.7.3", "less-loader": "^4.0.5", "lint-staged": "^6.0.0", "mockjs": "^1.0.1-beta3", "qs": "^6.6.0", "vue-template-c
最新发布
04-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值