Vue CLI 环境变量使用指南

news2024/10/5 13:54:27

一、简介

Vue CLI 是一个强大的前端工程化工具,它提供了丰富的配置选项,包括环境变量的管理。环境变量允许开发者根据不同的运行环境(如开发、测试和生产)应用不同的配置,而无需更改代码。本文将详细介绍如何在 Vue CLI 项目中使用环境变量。

二、 环境变量的基础

在 Vue CLI 项目中,环境变量可以通过 .env 文件系列进行管理。这些文件包括:

  • .env:默认的环境变量文件,所有环境都会加载。
  • .env.local:本地环境变量文件,不会被 Git 跟踪,可用于覆盖 .env 中的变量。
  • .env.development、.env.production、.env.test:分别对应开发、生产和测试环境的变量。
    在这里插入图片描述

三、使用环境变量

1. 定义环境变量

在 .env 文件中定义环境变量,例如:

VUE_APP_TITLE=My Application
VUE_APP_API_URL=https://api.example.com

2. 在代码中访问环境变量

在 Vue 应用中,通过 process.env 对象访问环境变量:

console.log(process.env.VUE_APP_TITLE); // 输出: My Application

注意,环境变量名前会加上 VUE_APP_ 前缀,这是 Vue CLI 的要求。

3. 条件性加载环境变量

Vue CLI 允许你根据不同的环境加载不同的变量。例如,要为生产环境定义特定的变量,可以使用 .env.production 文件:

VUE_APP_PRODUCTION_ONLY_VAR=This is only in production

四、环境模式的配置

1. 设置 NODE_ENV

NODE_ENV 是一个特殊的环境变量,用于指定当前的运行模式。Vue CLI 会根据 NODE_ENV 自动加载对应的 .env 文件:

  • development:开发模式
  • production:生产模式
  • test:测试模式

可以通过命令行参数设置 NODE_ENV,例如:

NODE_ENV=production vue-cli-service build

2. 在 vue.config.js 中使用环境变量

在 vue.config.js 中,你可以使用环境变量来自定义配置:

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

五、环境变量的高级用法

1. 端口配置

在 .env 文件中设置端口号:

VUE_APP_PORT=8080

然后在 vue.config.js 中使用:

module.exports = {
  devServer: {
    port: process.env.VUE_APP_PORT
  }
};

2. 静态资源的公共路径

设置项目的 publicPath 来定义静态资源的根路径:

module.exports = {
  publicPath: process.env.NODE_ENV === 'production' ? '/cdc-dp/' : '/'
};

3. 环境特定的配置文件

创建环境特定的配置文件,例如 vue.config.development.jsvue.config.production.js,Vue CLI 会根据 NODE_ENV 自动选择加载。

六、总结

Vue CLI 的环境变量功能为前端项目提供了极大的灵活性和便利性。通过合理使用环境变量,可以轻松管理不同环境下的配置,实现项目的快速部署和高效运行。掌握环境变量的使用,是前端工程化的重要一步。

注意:在使用环境变量时,请确保不要将敏感信息(如API密钥、数据库密码等)硬编码在代码中。对于生产环境的变量,应使用安全的配置管理方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1801139.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OlSoul系统调校程序v2024.06.05

软件介绍 OlSoul是一款能够适配用于Win各个系统的系统调校软件,OlSoul内置有众多调校功能可以直接使用,如有启用无线网络功能、启用打印机功能、系统快速休眠与休眠开关、快捷方式小箭头去除功能等,具体的调校功能多达几十项,可自…

Python的Pillow(图像处理库)的一些学习笔记

Python的Pillow库是一个非常强大的图像处理库。 安装Pillow库: 在终端或命令行中输入以下命令来安装Pillow: pip install pillow 升级库: pip install pillow --upgrade 一些基础的应用 1、图像文件方面的: 打开文件 …

植物大战僵尸杂交版破解C++实现

文章目录 前言准备工作:基地址与偏移UI界面设计和绑定项目模板总览图生成与实现信号处理1、阳光值更新:BTN12、三种钱币值更新:BTN2-BTN43、冷却刷新:BTN54、锁定阳光:check15、无冷却:check26、OnTimer()和OnClose&am…

数 据 类 型

概述 Java 是强类型语言。 每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(字节)。 Java 中一共有 8 种基本类型(primitive type),包括 4 种整型、2 种浮点型、1 种字符类型&#…

【C语言】07.函数

一、概念 C语言的函数,有些翻译为:子程序,子程序这种翻译更加准确⼀些。 C语言中的函数就是⼀个完成某项特定的任务的⼀小段代码。这段代码是有特殊的写法和调用方法的。 C语言的程序其实是由无数个小的函数组合而成的,也可以说&…

什么是SIEM

SIEM 解决方案是一种企业级应用程序,可集中和自动化与网络安全相关的操作,该工具通过收集、分析和关联从组织 IT 基础设施中的各种实体聚合的网络事件来帮助应对网络威胁。 与帮助监控和评估组织物理空间中的危险的监视控制台相比,SIEM解决方…

【百万字详解Redis】主从复制

文章目录 一、主从复制概述1.1、单机问题1.1.1、机器宕机1.1.2、容器瓶颈1.1.3、QPS瓶颈 1.2、什么是主从复制1.3、主从复制形式1.3.1、一主一从1.3.2、一主多从 1.4、主从复制作用 二、单机主从2.1、复制redis.conf2.2、配置主机2.3、配置从机2.4、启动服务2.5、读写分离 三、…

[工具探索]富士mini90拍立得使用指南

文章目录 1. 基本功能介绍1.1 相机外观1.2 电池与胶片 2. 设置相机2.1 装入电池2.2 装入胶片 3. 拍摄模式3.1 标准模式3.2 儿童模式3.3 远景模式3.4 双重曝光模式3.5 Bulb(B)模式3.6 **派对模式**3.7 微距模式3.8 **亮度模式**3.9 **定时拍摄模式**3.10 …

php探针代码怎么写

创建php文件并输入代码,访问文件查看php版本、环境和系统配置信息,可使用ini_set()函数定制输出,但注意在生产环境中使用时要注重安全,因为它会泄露敏感信息。 PHP探针代码撰写指南 PHP探针代码是一种脚本,可提供关于…

基于Java Mq的数据交换平台实现_设计消息的格式和内容

基于Java Mq的数据交换平台实现 目录概述需求: 设计思路实现思路分析 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challen…

FileZilla:不安全的服务器,不支持 FTP over TLS 原因与解决方法

今天在用FileZilla Client连接某个主机的FTP的时候,主机地址、账号、密码、端口确定百分之百正确的情况下,结果报错如下: 状态: 正在解析 x.x.x 的地址 状态: 正在连接 x.x.x.x:21... 状态: 连接建立,等待欢迎消息... 状态: 不安全…

6.6SSH的运用

ssh远程管理 ssh是一种安全通道协议,用来实现字符界面的远程登录。远程复制,远程文本传输。 ssh对通信双方的数据进行了加密 用户名和密码登录 密钥对认证方式(可以实现免密登录) ssh 22 网络层 传输层 数据传输的过程中是加密的 …

Java Web学习笔记19——Ajax介绍

Ajax: 概念:Asynchronous JavaScript And XML 异步的JavaScript和XML。 作用: 1)数据交换:通过Ajax可以给服务器发送请求,并获得服务器的响应数据。 2)异步交互:可以在不重新加载页面的情况…

【NetTopologySuite类库】生成凸包

介绍 计算几何体的凸包。凸包是最小的凸几何体,包含输入几何体中的所有点。使用Graham Scan算法。 API地址: https://nettopologysuite.github.io/NetTopologySuite/api/NetTopologySuite.Algorithm.ConvexHull.html 示意图 示例代码 需在NuGet中安装…

nomachine使用记录以及录包

录包命令: rosbag record 话题名字(可以是原相机话题和执行程序的话题)rosbag play 包名(可以离线播放包的数据) rqt_image_view 话题可视化

新买的移动硬盘无法识别

文章目录 背景解决方案 背景 同事新买的移动硬盘,插在电脑上识别不出来盘符,检查了一下,硬盘没问题应该,是ssk的硬盘盒M.2的SSD,硬盘驱动也是正常的,插拔了几次,都不识别,换了太电脑…

未见过类型题每周总结(个人向)

1.DP40 小红取数 题目 解析 一道01背包的衍生问题,我们可以按照它的思路定义数组dp[i][j],表示前i个数中%k为j的最大和。为什么设置未%k的最大和呢?是因为当两个数分别%k,如a%kx,b%ky。那么(ab)%k&#…

FENDI CLUB精酿啤酒品鉴体验

当提及“品质卓越,口感非凡”的啤酒时,FENDI CLUB精酿啤酒无疑是一个值得一试的选择。这款啤酒以其独特的酿造工艺和优质的原料,为消费者带来了与众不同的味觉享受。 一、独特的酿造工艺 FENDI CLUB精酿啤酒在酿造过程中,严格遵循…

关于 spring boot 的 目录详解 和 配置文件 以及 日志

目录 配置文件 spring boot 的配置文件有两种格式,分别是 properties 和 yml(yaml)。这两种格式的配置文件是可以同时存在的,此时会以 properties 的文件为主,但一般都是使用同一种格式的。 格式 properties 语法格…

使用 Django 创建 App

文章目录 步骤 1:创建 Django 项目步骤 2:创建 App步骤 3:配置 App步骤 4:编写代码步骤 5:运行服务器 在 Django 中,App 是组织代码的基本单元,它可以包含模型、视图、模板等组件,帮…