vue项目配置env

Posted 李怼怼蚂蚁雅黑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue项目配置env相关的知识,希望对你有一定的参考价值。

vue中利用.env文件存储全局环境变量,以及配置vue启动和打包命令

作用:在vue项目中,env是全局配置文件,可以存储不同环境下的变量。使用vue-cli搭建项目,默认会在根目录创建一个.env文件,如果需要更多类型的.env文件,需要自行创建

其中:

1,.env 后缀的文件是全局默认配置文件,不论什么环境都会加载并合并。

2,.env.development 是开发环境下的配置文件,仅在开发环境加载。

3,.env.production 是生产环境下的配置文件(也就是正式环境),仅在生产环境加载。

以上三个命名不能变动,除此之外,可以另外自定义加上.env.test文件,也就是测试环境,或者.env.bata,也就是内部测试版,等等...

配置.env文件

变量命名必须以VUE_APP_开头,比如VUE_APP_URLVUE_APP_PWD

 

配置启动命令

在vue项目根目录下,找到package.json文件,其中scripts对象是配置的vue启动命令,比如npm run dev,配置如下 

  "scripts": 
    "serve": "vue-cli-service serve",
    "serve-test": "vue-cli-service serve --mode test",
    "build": "vue-cli-service build",
    "test": "vue-cli-service build --mode test",
    "all": "vue-cli-service build && vue-cli-service build --mode test"
  

每一行说明如下:

1,npm run serve,启动项目,并且加载.env和.env.development文件

2,npm run serve-test,启动项目,并且加载.env和.env.test文件

3,npm run build,生产环境打包,其中.env和.env.production文件会加载

4,npm run test,测试环境打包,其中.env和.env.test文件会加载

5,npm run all,生产环境和测试环境同时打包,加载不同的.env文件

获取.env中的全局变量

比如,我在.env文件中设置了变量VUE_APP_BASE_URL = 'https://www.baidu.com',在项目中我想获取,只需要使用process.env.VUE_APP_BASE_URL,就可以取到。

实际用处

个人觉得最大的用处就是不同环境加载不同的变量,比如开发环境和测试、正式环境的请求域名不同,直接在.env文件中定义一个全局的URL,在请求封装中使用,很方便。

vue项目环境变量配置的实现方法

参考技术A 问题
实际开发中,开发环境和生产环境中一些变量是不同的,比如接口地址等等,打包之前需要手动切换。
编译时
新建env.js
let
baseUrl
=
'';
if(process.env.NODE_ENV
==
'production')
baseUrl
=
'https://xxxxxxxxx';

else
if
(process.env.NODE_ENV
==
'development')

baseUrl
=
'/api'

export

baseUrl

process.env.NODE_ENV
是通过webpack
内置的
DefinePlugin
为所有的依赖定义的变量
webpack.dev.conf.js
new
webpack.DefinePlugin(
'process.env.NODE_ENV':
'development'
),
webpack.prod.conf.js
new
webpack.DefinePlugin(
'process.env.NODE_ENV':
'production'
),
这样在项目任意文件中都能调用process.env.NODE_ENV变量,本人测试过,process并不是挂载在window变量上,猜测可能是挂载到了node的process变量。
在运行脚本编译项目的时候,会根据变量值的不同,设置不同的baseUrl。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:vue-cli配置环境变量的方法

以上是关于vue项目配置env的主要内容,如果未能解决你的问题,请参考以下文章

Vue创建前端项目

前端学习之Vue项目配置

nginx 部署多个前端vue项目的3种方式,一篇文章搞定

项目前端 - vue配置 | axios配置 | cookies配置 | element-ui配置 | bootstrap配置

前端学习之Vue项目使用

vue_05项目配置