vue-cli 环境变量 process.env的使用及说明

yizhihongxing

vue-cli 环境变量 process.env的使用及说明

在Vue.js项目中,我们可以通过使用process.env来访问环境变量,这在不同的环境下可以用来指定不同的参数或配置。本文将详细讲解如何使用process.env来设置和访问环境变量。

process.env的基本用法

process.env是Node.js中的全局变量,可以用来访问系统环境变量。在Vue.js项目中,我们可以通过在命令行中设置环境变量来指定不同的配置,如下:

$ NODE_ENV=production npm run build

在代码中使用process.env来获取NODE_ENV变量的值:

if (process.env.NODE_ENV === 'production') {
  console.log('production mode')
}

在vue.config.js中使用process.env

在Vue.js项目中,我们可以通过vue.config.js文件来配置如何构建项目,其中可以使用process.env来指定不同的参数。例如:

module.exports = {
  publicPath: process.env.NODE_ENV === 'production'
    ? '/production-sub-path/'
    : '/'
}

在上面的配置中,我们根据NODE_ENV的值来设置publicPath参数。如果NODE_ENV为production,则将publicPath设置为'/production-sub-path/',否则设置为'/'。

在代码中使用process.env

在Vue.js项目中,我们也可以在代码中使用process.env来访问环境变量。例如:

axios.get(`${process.env.VUE_APP_API_BASE}/users`)
  .then(response => {
    console.log(response.data)
  })
  .catch(error => {
    console.error(error)
  })

在上面的代码中,我们使用VUE_APP_API_BASE来访问API的基础路径。在开发环境和生产环境中,我们可以分别将VUE_APP_API_BASE设置为不同的值。

示例1:在开发环境与生产环境下使用不同的API接口地址

在Vue.js项目中,我们可以使用process.env来访问环境变量,在示例中我们将使用process.env来实现在开发环境和生产环境中使用不同的API接口地址。

在vue.config.js文件中配置如下:

const apiBaseUrl = process.env.VUE_APP_API_BASE || 'http://localhost:3000'

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: apiBaseUrl,
        changeOrigin: true,
        pathRewrite: { '^/api': '' }
      }
    }
  }
}

在上面的配置中,我们通过访问VUE_APP_API_BASE环境变量来获取API接口地址。如果VUE_APP_API_BASE未设置,则使用默认值'http://localhost:3000'。

在代码中访问API接口可以这样写:

axios.get('/api/users')
  .then(response => {
    console.log(response.data)
  })
  .catch(error => {
    console.error(error)
  })

在上面的代码中,我们访问了'/api/users'路径,实际上访问的是通过代理转发到apiBaseUrl的'http://localhost:3000/users'路径。在开发环境中,我们可以设置VUE_APP_API_BASE为'http://localhost:3001',从而访问'http://localhost:3001/users'路径。

示例2:在APP中使用API Token

在Vue.js项目中我们可以使用process.env来存储API Token值,并在代码中使用它来访问API接口。

在环境变量中设置API Token:

$ export VUE_APP_API_TOKEN='MyAPIToken'

在代码中访问API接口:

axios.get('/api/users', {
    headers: {
        'Authorization': process.env.VUE_APP_API_TOKEN
    }
})
  .then(response => {
    console.log(response.data)
  })
  .catch(error => {
    console.error(error)
  })

在上面的代码中我们将process.env.VUE_APP_API_TOKEN的值设置为Authorization头,这样我们可以在访问API接口时携带API Token,从而实现权限控制。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue-cli 环境变量 process.env的使用及说明 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • ahjesus linux连接阿里云ubuntu服务器更改默认账号和密码、创建子账户的步骤

    下面是“ahjesus linux连接阿里云ubuntu服务器更改默认账号和密码、创建子账户的步骤”的完整攻略。 一、登录服务器 首先,需要使用SSH登录到服务器。如果你是Windows用户,可以使用一些SSH客户端,比如PuTTY。如果你是Linux或Mac用户,可以直接在终端使用SSH命令。 示例1:使用PuTTY登录服务器 打开PuTTY,输入服务器的…

    other 2023年6月27日
    00
  • Win11共享文件夹需要账号密码怎么办?Win11共享文件夹需要账号密码的解决方法

    Win11共享文件夹需要账号密码怎么办? 在Win11中,如果你共享了某个文件夹,其他计算机访问时可能会要求输入账号和密码。如果你不想每次都输入账号密码,可以设置Win11共享文件夹不需账号密码即可访问,操作方法如下。 解决方案 首先,右键点击你要共享的文件夹,点击“属性”并进入“共享”选项卡。在该选项卡中,点击“高级共享”按钮。 在高级共享窗口中,勾选 “…

    other 2023年6月27日
    00
  • 使用C++递归求解跳台阶问题

    下面是使用C++递归求解跳台阶问题的完整攻略: 问题描述 跳台阶问题是一种经典的数学问题,其描述如下:有n个台阶,每次可以跳1个或2个台阶,求跳到第n个台阶的跳法总数。 解决方法 我们可以使用递归来解决这个问题。递归的思路就是将一个大问题分解为一个或多个小问题,然后再将小问题进一步分解,最终求解出所有小问题并将它们组合起来得到原问题的解。 对于跳台阶问题,我…

    other 2023年6月27日
    00
  • VUE多层路由嵌套实现代码

    VUE多层路由嵌套实现代码攻略 在Vue中,我们可以使用多层路由嵌套来构建复杂的应用程序。这种嵌套路由的实现方式可以帮助我们更好地组织和管理应用程序的不同页面和组件。 下面是一个详细的攻略,介绍了如何在Vue中实现多层路由嵌套。 步骤1:创建Vue项目和路由 首先,我们需要创建一个Vue项目并配置路由。可以使用Vue CLI来创建项目,然后使用Vue Rou…

    other 2023年7月27日
    00
  • 大文件无法复制到U盘怎么办?U盘无法复制大文件原因以及解决方法

    在讲解这个问题之前,我们首先需要了解一下大文件和U盘的概念。 什么是大文件?大文件是指文件大小超过1GB的文件。常见的大文件有高清电影、游戏安装包、虚拟机镜像等。 什么是U盘?U盘又称闪存盘或优盘,是一种便携式存储设备,通常由USB接口连接至计算机上,能存储各种类型的文件。 为什么大文件无法复制到U盘?U盘的文件系统通常采用FAT32或exFAT格式,而这两…

    other 2023年6月27日
    00
  • 31. Ubuntu15.04系统中如何启用、禁用客人会话

    Ubuntu15.04系统中如何启用、禁用客人会话 在Ubuntu 15.04及以后的版本中,系统默认启用了客人会话,允许未登录的用户使用系统,这在公共场所和学校等场合非常有用。但在某些情况下,您可能希望禁用这个功能,以保护系统和数据的安全性。本文将介绍如何在Ubuntu 15.04系统中启用或禁用客人会话。 1. 启用客人会话 默认情况下,Ubuntu 1…

    其他 2023年3月28日
    00
  • Android程序开发之自定义设置TabHost,TabWidget样式

    Android程序开发之自定义设置TabHost,TabWidget样式攻略 在Android应用程序开发中,TabHost和TabWidget是常用的UI组件,用于创建具有多个选项卡的界面。本攻略将详细介绍如何自定义设置TabHost和TabWidget的样式。 步骤一:创建TabHost和TabWidget 首先,在XML布局文件中创建TabHost和T…

    other 2023年9月6日
    00
  • Taro小程序自定义顶部导航栏功能的实现

    下面是关于“Taro小程序自定义顶部导航栏功能的实现”的完整攻略: 一、背景 在Taro小程序开发中,如果想要实现自定义顶部导航栏的功能,需要了解Taro框架提供的相关API和组件,才能进行相应的开发实现。 二、Taro自定义导航栏的实现方法 具体的实现方法为,在Taro小程序中进行页面的渲染时,通过自定义导航栏组件,将导航栏的样式和页面内容分开实现,从而在…

    other 2023年6月25日
    00
合作推广
合作推广
分享本页
返回顶部