Vue中.env文件的使用详解

 更新时间:2024年11月06日 09:55:49   作者:A_bad_horse  
在Vue项目开发中,.env文件用于配置不同环境(开发、测试、生产)的环境变量,通过不同的文件如.env.development和.env.production来区分环境配置,Vue会根据运行命令自动加载对应的配置文件,如使用npm run serve会加载.env.development

.env文件配置

Vue项目中,.env文件是运行项目时的环境配置文件。但是在实际开发过程中,有本地开发环境、测试环境、生产环境等,不同环境对应的配置会不一样。

因此,需要通过不同的.env文件实现差异化配置。

1. 文件说明

.env: 全局默认配置文件,所有环境(开发、测试、生成等)均会加载并合并该文件。

  • .env.development:开发环境的配置文件
  • .env.production:生产环境的配置文件

注:

  • 1. 以上三个文件的命名为固定格式,不能改变,否则读取不到文件。
  • 2. .env文件在实际开发中可以省略,如果所有配置都写在对应的文件中。

2. 文件读取

Vue会根据启动命令自动加载对应的环境配置文件。

package.json会配置好相关的映射匹配。

2.1 npm run serve

development模式用于:vue-cli-service serve

  • 模式将NODE_ENV的值设置为模式名称
# 开发环境配置
ENV = 'development'
  • 通过.env文件增加后缀名来设置某个模式下的环境变量

对应的文件:.env.development

2.2 npm run build

production模式用于:vue-cli-service build

  • 模式将NODE_ENV的值设置为模式名称
# 生产环境配置
ENV = 'production'
  • 通过.env文件增加后缀名来设置某个模式下的环境变量

对应的文件:.env.production

2.3 npm run 自定义模式

// .env.staging
"build:stage": "vue-cli-service build --mode staging",

// .env.demo1024
"build:demo1024": "vue-cli-service build --mode demo1024",

3. 查看环境变量

nodejs顶层对象中prcess基础类下的process.env属性,返回包含用户环境的对象。

console.log(process.env)

以上命令即可直接打印当前环境变量。

4. 使用环境变量

const service = axios.create({
  // axios中请求配置有baseURL选项,表示请求URL公共部分
  baseURL: process.env.VUE_APP_BASE_API + '/admin-api/', // 此处的 /admin-api/ 地址,原因是后端的基础路径为 /admin-api/
  // 超时
  timeout: 10000
})

  • .env.development
VUE_APP_BASE_API = '/dev-api'
  • .env.production
VUE_APP_BASE_API = '/prod-api'

实现了不同环境的动态配置。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue离开页面时如何销毁定时器

    vue离开页面时如何销毁定时器

    这篇文章主要介绍了vue离开页面时如何销毁定时器,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Vue3中当v-if和v-for同时使用时产生的问题和解决办法

    Vue3中当v-if和v-for同时使用时产生的问题和解决办法

    封装一个组件时,我使用到了v-for和v-if,它们在同一标签内,总是提示v-for循环出来的item在实例中没有被定义,查询资料后原因是因为v-for和v-if在同级使用时,v-if优先级比v-for高,所以本文给大家介绍了Vue3中当v-if和v-for同时使用时产生的问题和解决办法
    2024-07-07
  • Vue.js+Layer表格数据绑定与实现更新的实例

    Vue.js+Layer表格数据绑定与实现更新的实例

    下面小编就为大家分享一篇Vue.js+Layer表格数据绑定与实现更新的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 基于Vue实现支持按周切换的日历

    基于Vue实现支持按周切换的日历

    这篇文章主要为大家详细介绍了基于Vue实现支持按周切换的日历,根据实际开发情况按每年、每月、每周进行切换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 详解Vue全局组件的挂载之实现弹窗组件

    详解Vue全局组件的挂载之实现弹窗组件

    这篇文章主要为大家详细介绍了如何通过Vue全局组件的挂载来实现弹窗组件,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的可以了解一下
    2022-11-11
  • 使用vue-cli创建项目的图文教程(新手入门篇)

    使用vue-cli创建项目的图文教程(新手入门篇)

    这篇文章主要介绍了新手入门vue 使用vue-cli创建项目的图文教程,本文是针对完全不了解过vue和npm的小白而写的,需要的朋友可以参考下
    2018-05-05
  • Vue Router4 嵌套路由的示例代码

    Vue Router4 嵌套路由的示例代码

    在 Vue Router 4 中,嵌套路由是一种非常重要的功能,它允许我们创建更复杂的 UI 结构,同时保持路由的清晰和易于管理,这篇文章主要介绍了Vue Router4 嵌套路由,需要的朋友可以参考下
    2024-04-04
  • Vue项目中使用better-scroll实现菜单映射功能方法

    Vue项目中使用better-scroll实现菜单映射功能方法

    这篇文章主要介绍了Vue项目中使用better-scroll实现菜单映射功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • vue服务端渲染的实例代码

    vue服务端渲染的实例代码

    本篇文章主要介绍了vue服务端渲染的实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Vue 2源码阅读 Provide Inject 依赖注入详解

    Vue 2源码阅读 Provide Inject 依赖注入详解

    这篇文章主要为大家介绍了Vue 2源码阅读 Provide Inject 依赖注入详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08

最新评论