vue-cli3/4关于process.env的配置

由于我们的项目需要在不同环境下进行运行(开发,生产,测试等),设置process.env这避免我们需要多次的去切换请求的地址以及相关的配置。

默认的有development和production两种,分别对应运行运行vue-cli-service serve与vue-cli-service build两种环境。也就是说开发环境默认为development,打包之后的环境默认为production。同时也支持不同环境不同配置,在项目根目录中配置.env.development与.env.production两个文件(使用方法与.env一致),系统根据不同环境获取不同配置文件。达到不同环境不同配置的效果。
然而实际开发中,我们不一定只有两个环境,所以vue-cli也提供了多环境的配置方法。在系统根目录中配置.env.[environmentName]文件,然后运行时候加上–mode environmentName就可以将配置文件切换到对应文件中去

 一 建立.env系列文件

首先我们在根目录新建3个文件,分别为.env.development,.env.production,.env.test

  • env.development 模式用于serve,开发环境,就是开始环境的时候会引用这个文件里面的配置
  • .env.production模式用于build,线上环境
  • .env.test 测试环境

 

二  修改.env系列文件

.env.development

VUE_APP_BASE_API = 'http://localhost:8091/api/'

.env.production

VUE_APP_BASE_API = 'http://jstudio.org/api/'

.env.test

VUE_APP_BASE_API = 'http://192.169.123:8092/api/'

 

四 更改package.json文件 

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

 

五 使用

当需要用到该变量是可以用process.env.VUE_APP_BASE_API进行取值。

例如在js文件中直接使用

const service = axios.create({
    baseURL: process.env.VUE_APP_BASE_API,
    timeout: 10000,
})

1.Vue2.0页面写法

在data中使用

复制代码
<template>
    <div>
        <a :href="this.uploadUrl">点击</a>
    </div>
</template>

<script>
export default {
    data() {
        return {
            uploadUrl: process.env.VUE_APP_BASE_API,
        }
    }
}
</script>
复制代码

在computed() 中使用

复制代码
<template>
    <div>
        <a :href="VUE_APP_BASE_API">点击</a>
    </div>
</template>

<script>
export default {
    computed: {
        VUE_APP_BASE_API(){
            return process.env.VUE_APP_BASE_API
        }
    }
}
</script>
复制代码

 

2. Vue3.0页面写法

在setup()引用

复制代码
<template>
    <div>
        <a :href="uploadUrl">点击</a>
    </div>
</template>

<script>
export default {
    setup() {
        return {
            uploadUrl: process.env.VUE_APP_BASE_API
        }
    }
}
</script>
复制代码

在computed()中使用

复制代码
<template>
    <div>
        <a :href="VUE_APP_BASE_API">点击</a>
    </div>
</template>

<script>
import { computed } from 'vue'
export default {
    setup() {
        const VUE_APP_BASE_API = computed(()=>{
            return process.env.VUE_APP_BASE_API
        })
        return {
            VUE_APP_BASE_API
        }
    }
}
</script>
复制代码

 

posted @   猪脚踏浪  阅读(2078)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示