Vue中.env、.env.development及.env.production文件说明

 更新时间:2022年09月20日 14:19:42   作者:学学学无止境  
这篇文章主要给大家介绍了关于Vue中.env、.env.development及.env.production文件说明的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用vue具有一定的参考学习价值,需要的朋友可以参考下

0.介绍

模式是Vue CLI项目中一个重要的概念,默认情况下,一个Vue CLI项目有三种模式:

  • developemt 模式用于vue-cli-service serve
  • test 模式用于vue-cli-service test:unit
  • production 模式用于vue-cli-service build 和vue-cli-service test:e2e

当运行vue-cli-service命令时,所有的环境变量都从对应的环境文件中载入。如果文件内部不包含NODE_EVN变量,它的值取决于模式。例如,咋production模式下被设置为“production”,在test模式下被设置为“test”,默认的模式则是“developemt”

NODE_EVN将决定你的应用运行的模式,是开发,生产还是测试,因此也决定了创建哪种webpack配置

例如通过将 NODE_ENV 设置为 "test",Vue CLI 会创建一个优化过后的,并且旨在用于单元测试的 webpack 配置,它并不会处理图片以及一些对单元测试非必需的其他资源。

同理,NODE_ENV=development 创建一个 webpack 配置,该配置启用热更新,不会对资源进行 hash 也不会打出 vendor bundles,目的是为了在开发的时候能够快速重新构建。

当你运行 vue-cli-service build 命令时,无论你要部署到哪个环境,应该始终把 NODE_ENV 设置为 "production" 来获取可用于部署的应用程序。

1.在Vue项目中,通常配置文件有:

  • env 全局默认配置文件,无论什么环境都会加载合并
  • .env.development 开发环境下的配置文件
  • .env.production 生产环境下的配置文件

2.命名规则

注意:属性名必须以VUE_APP开头,比如VUEP_APP_XXX

3.关于文件的加载:

关于启动命令Vue会自动加载对应的环境,vue是根据文件名进行加载的

比如当你执行npm run serve命令,会自动加载.env.development文件

npm run serve ----NODE_EVN=development

注意:.env文件无论是来发还是生产都会加载

 如上图,如果我们运行npm run serbe就会先加载.env文件,之后加载.env.development文件,两个文件有同一项,则后加载的文件就会覆盖掉第一个文件,即.env.development文件覆盖掉了.env文件的NOOE_ENV选项

同理,如果执行了npm run build,则就是执行了.evn和.env.production文件

npm run build ---NODE_EVN = production

4.关于使用

直接调用process.evn属性(全局属性,任何地方都可以使用)

例如:直接打印process.evn属性:

4.1 在.vue文件中使用

4.2 在.js文件中 

 注意:js文件中可以添加JSON.stringfy(xxx),解析成字符,但是vue中不能

5.自定义环境

第一步:创建.evn.test文件

第二部:配置环境及地址

# 测试环境
NODE_ENV=production
VUE_APP_ENV=test
#请求接口基准地址
VUE_APP_BASE_API=地址一
#业务系统地址
VUE_APP_protalUrl=地址二
#市门户地址
VUE_APP_menhuUrl=地址三
#腾讯统计分析id
VUE_APP_sid=腾讯ID

第三步:配置package.json

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

配置完成,使用命令npm run test 即可以打包test环境的包。

最后,附上一张总结图

总结

到此这篇关于Vue中.env、.env.development及.env.production文件说明的文章就介绍到这了,更多相关Vue .env、.env.development及.env.production内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue实现购物车实例代码两则

    Vue实现购物车实例代码两则

    这篇文章主要介绍了Vue实现购物车实例代码,需要的朋友可以参考下
    2020-05-05
  • vue2.0 实现导航守卫的具体用法(路由守卫)

    vue2.0 实现导航守卫的具体用法(路由守卫)

    这篇文章主要介绍了vue2.0 实现导航守卫的具体用法(路由守卫),vue-route 提供的 beforeRouteUpdate 可以方便地实现导航守卫(navigation-guards),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • 浅析Vue3中通过v-model实现父子组件的双向数据绑定及利用computed简化父子组件双向绑定

    浅析Vue3中通过v-model实现父子组件的双向数据绑定及利用computed简化父子组件双向绑定

    这篇文章主要介绍了浅析Vue3中通过v-model实现父子组件的双向数据绑定及利用computed简化父子组件双向绑定,需要的朋友可以参考下
    2022-12-12
  • 解读Vue3中keep-alive和动态组件的实现逻辑

    解读Vue3中keep-alive和动态组件的实现逻辑

    这篇文章主要介绍了Vue3中keep-alive和动态组件的实现逻辑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Vue的状态管理vuex使用方法详解

    Vue的状态管理vuex使用方法详解

    由于Vue多个状态分散的跨越在许多组件和交互间各个角落,大型应用复杂度也经常逐渐增长。为了解决这个问题,Vue提供了vuex。本文将详细介绍Vue状态管理vuex,需要的朋友可以参考下
    2020-02-02
  • 基于Vue 撸一个指令实现拖拽功能

    基于Vue 撸一个指令实现拖拽功能

    这篇文章主要介绍了Vue 指令实现拖拽功能,实现原理很简单,文中通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • 解决vue keep-alive 数据更新的问题

    解决vue keep-alive 数据更新的问题

    今天小编就为大家分享一篇解决vue keep-alive 数据更新的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • Vue生命周期实例分析总结

    Vue生命周期实例分析总结

    Vue的生命周期就是vue实例从创建到销毁的全过程,也就是new Vue()开始就是vue生命周期的开始。Vue实例有⼀个完整的⽣命周期,也就是从开始创建、初始化数据、编译模版、挂载Dom->渲染、更新->渲染、卸载等⼀系列过程,称这是Vue的⽣命周期
    2022-10-10
  • vue中使用tinymce及插件powerpaste的使用

    vue中使用tinymce及插件powerpaste的使用

    这篇文章主要介绍了vue中使用tinymce,以及插件powerpaste的使用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • Vue选项之propsData传递数据方式

    Vue选项之propsData传递数据方式

    这篇文章主要介绍了Vue选项之propsData传递数据方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10

最新评论