Vue 项目环境变量

Posted mengfangui

tags:

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

Vue 项目环境变量

环境变量:

.env                # 在所有的环境中被载入
.env.local          # 在所有的环境中被载入,但会被 git 忽略
.env.[mode]         # 只在指定的模式中被载入
.env.[mode].local   # 只在指定的模式中被载入,但会被 git 忽略
一个环境文件只包含环境变量的“键=值”对:

模式

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

示例

.env.production文件:

# just a flag
ENV = 'production'

# base api
VUE_APP_BASE_API = '/prod-api'

  1. 使用
    vue.conf.js构建文件:
proxy: {
      // change xxx-api/login => mock/login
      // detail: https://cli.vuejs.org/config/#devserver-proxy
      [process.env.VUE_APP_BASE_API]: {
        target: `http://localhost:${port}/mock`,
        changeOrigin: true,
        pathRewrite: {
          ['^' + process.env.VUE_APP_BASE_API]: ''
        }
      }
    },

2、客户端使用

// create an axios instance
const service = axios.create({
  baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
  withCredentials: true, // send cookies when cross-domain requests
  timeout: 5000 // request timeout
})

注意:
只有以 VUE_APP_ 开头的变量会被 webpack.DefinePlugin 静态嵌入到客户端侧的包中。

以上是关于Vue 项目环境变量的主要内容,如果未能解决你的问题,请参考以下文章

vue、react项目设置多环境变量

vue-cli在index.html判断环境变量加载不同代码

Vue 项目环境变量

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

vue项目使用.env文件配置全局环境变量

回归 | js实用代码片段的封装与总结(持续更新中...)