vue cli3 配置多个环境

本文介绍了在Vue项目中如何管理环境配置文件,包括.env系列文件的用途和配置方式,以及如何根据VUE_APP_ENV变量区分不同环境。同时,讲解了在vue.config.js中配置打包命令,并在package.json中定义不同环境的构建脚本。

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

在项目开发的各个阶段,比如:开发环境、测试环境、生产环境,我们需要为项目指定不同的一些配置信息。比如接口api的域名,在开发环境中是开发服务器,在上线之后需要切换到正式服务器。这个时候我们就需要管理环境下的配置文件信息。

env文件说明

  • .env:默认全局配置文件
  • .env.local:本地覆盖。除 test 之外的所有环境都加载此文件
  • .env.development, .env.test, .env.production:特定环境配置文件
  • .env.development.local, .env.test.local, .env.production.local:特定环境配置本地文件,但会被 git 忽略

 

.env                # 默认全局配置文件,在所有的环境中被载入
.env.local          # 在所有的环境中被载入,但会被 git 忽略
.env.[mode]         # 只在指定的模式中被载入

 

1、创建三个 .env 文件

2、配置 env 文件

配置环境变量格式

VUE_APP_{自定义环境变量名} = {值}

需要注意在vue脚手架创建的项目中需要设置环境变量配置以VUE_APP_*开头

 .env.development

NODE_ENV = 'development'
VUE_APP_ENV = 'development'

.env.production

NODE_ENV = 'production'
VUE_APP_ENV = 'production'
outputDir = 'dist'

.env.test 

NODE_ENV = 'production'
VUE_APP_ENV = 'test'
outputDir = 'dist'

3、 根据VUE_APP_ENV来区分不同环境

创建 config.js 文件

// 区分不同的配置环境
let serverUrl;
if (process.env.VUE_APP_ENV === 'development') {
    serverUrl = "http://localhost:10001/";
}
else if (process.env.VUE_APP_ENV === 'test') {
    serverUrl = "http://test.abc.com/";
}
else if (process.env.VUE_APP_ENV === 'production') {
    serverUrl = "http://prod.abc.com/";
}

4、配置打包命令

在根目录下的 vue.config.js 里配置outputDir

module.exports = {
  // 基本路径
  publicPath: "./",
  // 输出文件目录
  outputDir: process.env.outputDir,
};

package.json 配置打包命令

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

执行 npm run serve 输出的是 .env.development 中的内容

执行 npm run build 输出的是 .env.production 中的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值