vue-cli3.0 环境变量与模式配置方法

yizhihongxing

下面是详细的讲解。

什么是环境变量和模式

在开发中,我们需要根据不同的环境和需求来进行不同的配置,比如在开发环境和测试环境中使用不同的 apiUrl,或者在不同的模式下加载不同的配置文件。

vue-cli3.0 提供了非常便捷的配置方法来实现这些需求,分别是环境变量和模式。

环境变量:

在 vue-cli3.0 中,环境变量默认有三个:development、production 和 test。我们可以在不同的环境中设置不同的变量,然后在代码中引用。

模式:

模式可以理解为不同的构建版本,我们可以通过 mode 属性来指定模式,在不同的模式中可以设置不同的配置。

环境变量的配置方法

  1. 在项目根目录创建 .env 文件,配置环境变量。如:
VUE_APP_API_URL=http://localhost:3000
  1. 在代码中引用该变量,可以使用 process.env.VUE_APP_API_URL 来获取。

示例:

在 vue.config.js 中进行配置,在 dev 环境的情况下设置 apiUrl 为 http://localhost:3000:

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: process.env.VUE_APP_API_URL,
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  }
}

在代码中使用

axios.get('/api/getData').then(res => {
  console.log(res.data)
})

模式的配置方法

  1. 在 package.json 中设置模式
"build": "vue-cli-service build --mode production"
  1. 在项目根目录下,创建不同模式的配置文件 vue.config.modeName.js,如 vue.config.production.js,进行不同配置。
// vue.config.production.js
module.exports = {
  apiUrl: 'http://api.prod.com'
}

// vue.config.development.js
module.exports = {
  apiUrl: 'http://api.dev.com'
}
  1. 在代码中使用该变量,使用 vue-cli-service 的 mode 参数来指定当前使用的模式,如:
console.log(process.env.apiUrl)

示例:

在 axios 中设置不同模式下的 baseUrl:

// vue.config.production.js
module.exports = {
  baseUrl: 'http://prod.com'
}

// vue.config.development.js
module.exports = {
  baseUrl: 'http://dev.com'
}

在 axios 中使用

const apiUrl = process.env.NODE_ENV === 'production' ? process.env.baseUrl : ''
axios.get(`${apiUrl}/api/getData`).then(res => {
  console.log(res.data)
})

以上就是关于“vue-cli3.0 环境变量与模式配置方法”的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue-cli3.0 环境变量与模式配置方法 - Python技术站

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

相关文章

  • AE怎么制作一个loading加载小动画效果?

    下面是AE制作loading加载小动画效果的完整攻略: 1. 准备素材 首先需要准备两部分素材:一个是动画的背景,一个是动画图标。 2. 创建一个新项目 在AE中打开新项目,选择1920×1080的高清模板。 3. 添加背景 将背景素材导入到AE中,将其拖到“新建合成”按钮上,生成一个新的背景合成层。在合成层中放置背景素材并调整大小位置。 4. 创建图标 在…

    other 2023年6月25日
    00
  • tomcat下jndi配置

    当您需要在Tomcat中配置JNDI以访问数据库时,可以按照以下步骤进行操作: 步骤说明 JNDI(Java Naming Directory Interface)是Java平台一种API,用于访问命名和目录服务。在Tomcat中,您可以使用JNDI配置数据源,以便在应用程序中访问数据库。以下是使用Tomcat配置JNDI的详细步骤: 打开Tomcat的co…

    other 2023年5月9日
    00
  • healthd电池battery

    以下是“healthd电池battery”的完整攻略: healthd电池battery healthd是一个Linux系统中的守护进程,它可以监控系统健康状况,包括电池状态。本攻略绍如何使用healthd来监控电池状态。 步骤1:安装healthd 在开始使用healthd之前,您需要在Linux系统中装healthd。您可以使用以下命令在Ubuntu系统…

    other 2023年5月7日
    00
  • Linux下必须要学的系统安全命令第1/4页

    下面是针对“Linux下必须要学的系统安全命令第1/4页”这篇攻略的详细讲解。 1.1 防火墙命令iptables 1.1.1 简介 iptables是 Linux 系统下的一种防火墙配置工具,可以对网络数据包进行过滤、转发或重定向等操作,从而实现对网络流量的控制与管理。它支持多种过滤条件和匹配方式,能灵活、准确地定制防火墙策略。 1.1.2 使用方法 查看…

    other 2023年6月26日
    00
  • Mybatis select记录封装的实现

    “Mybatis select记录封装的实现”指的是在Mybatis框架中如何将从数据库中查询到的记录封装成Java对象。下面是一个完整攻略: 1. Mybatis resultMap Mybatis提供了resultMap来将查询结果映射成Java对象。在mapper文件中定义resultMap: <resultMap id="userRe…

    other 2023年6月25日
    00
  • Win11 obs窗口采集黑屏怎么办?Win11obs窗口捕获黑屏的解决办法

    如何解决Win11 OBS窗口采集黑屏问题? 当您在使用Win11系统时,可能会出现OBS窗口采集黑屏的问题,这会导致您无法录制或直播游戏内容。本文将讲解几种常见的解决方法。 1. 确保游戏或应用程序的GPU加速开启 大多数游戏或应用程序需要GPU加速才能正常运行,如果您的游戏或应用程序没有启用GPU加速,那么在OBS窗口中采集可能会出现黑屏。 为了开启GP…

    other 2023年6月27日
    00
  • php实例化一个类的具体方法

    关于如何实例化一个PHP类,我可以提供如下完整攻略: 1. 先定义一个类 在实例化一个类的之前,我们需要先定义一个PHP类,例如: class Example { public function __construct() { echo ‘这是一个例子’; } } 2. 实例化一个类 在PHP中,实例化一个类只需要使用new关键字即可,例如: $exampl…

    other 2023年6月26日
    00
  • Linux上通过SSH挂载远程文件系统方法详解

    Linux上通过SSH挂载远程文件系统方法详解 在Linux系统上,我们可以通过SSH协议来挂载远程文件系统,并且可以使用本地的文件系统来对远程文件系统进行读写操作。 步骤 确认本地系统上安装了SSH客户端和FUSE文件系统,默认情况下大多数Linux发行版都会自带这些软件包。如果没有,可以通过以下命令进行安装: # 安装SSH客户端 sudo apt-ge…

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