Vue3+vite环境变量配置

news2025/1/20 14:53:03

在项目开发中,通常来说,不同的环境会有不同的请求api接口,这就需要修改配置,才能满足对应的环境。所以这里就使用了环境变量。环境变量就是在不同的环境中使用不同的变量值。

# 环境变量文件(.env)

在项目根目录(和src同级)中创建三个文件:

.env.development 

# 【开发环境】
NODE_ENV = development

# base api
VITE_APP_BASE_API = '/api' 

.env.staging

# 【测试环境】
NODE_ENV = staging

# base api
VITE_APP_BASE_API = '/api' 

.env.production

# 【生产环境】
NODE_ENV = production

# base api
VITE_APP_BASE_API = '/api' 

# 环境变量定义与获取

定义:变量以 VITE_XXX 进行定义。如果想自定义 env 变量的前缀,可以在vite.config.js里配置 envPrefix。

获取:import.meta.env.VITE_XXX process.env.VITE_XXX

通常使用 import.meta.env.VITE_XXX 可以获取到环境变量,而vite.config.js除外。

在vite.config.js中自定义环境变量前缀及获取环境变量的配置如下:

import { defineConfig, loadEnv } from "vite";
import vue from "@vitejs/plugin-vue";
const { resolve } = require("path");

export default defineConfig(({command, mode }) => {
  	const env = loadEnv(mode, process.cwd())
  	console.log(env.VITE_APP_BASE_API) // 获取环境变量
  	return {
	    plugins: [vue()],
	    envPrefix:  ['VITE', 'VUE'],   // 环境变量前缀,默认只会暴露VITE开头变量,定义后可暴露VUE开头变量
	    define: {
	      	'process.env.VITE_APP_BASE_API':JSON.stringify(env.VITE_APP_BASE_API),
	    },
  	}
})


 # package.json多环境配置

    "scripts": { 
        "dev": "vite",            // 开发环境
        "serve": "vite preview",  // 本地预览
        "staging": "vite build --mode staging",  // 测试环境打包
        "build": "vite build",    // 生产环境打包
    },

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

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

相关文章

TCP协议和相关特性

1.TCP协议的报文结构 TCP的全称为:Transmission Control Protocol。 特点: 有连接可靠传输面向字节流全双工 下面是TCP的报文结构: 源端口和目的端口: 源端口表示数据从哪个端口传输出来,目的端口表示数据传输到哪个端口去。…

FPGA_学习_03_第一个FPGA程序流水灯

学习编程,最重要永远就是动手,本文将在开发板上实现FPGA的“Hello world”→流水灯。本文主要目的是熟悉在Vivado上从零到程序运行起来的基本开发流程。 1 硬件电路介绍 本人购买的开发板接在PL端的只有2个LED灯,刚好达到流水灯的最低要求。…

今年这情况,大家多一手准备吧......

大家好,最近有不少小伙伴在后台留言,又得准备面试了,不知道从何下手! 不论是跳槽涨薪,还是学习提升!先给自己定一个小目标,然后再朝着目标去努力就完事儿了! 为了帮大家节约时间&a…

ASEMI代理MAX5048BAUT+T原装ADI车规级MAX5048BAUT+T

编辑:ll ASEMI代理MAX5048BAUTT原装ADI车规级MAX5048BAUTT 型号:MAX5048BAUTT 品牌:ADI /亚德诺 封装:SOT-23-6 批号:2023 安装类型:表面贴装型 引脚数量:6 工作温度:-40C~125C 类型&a…

npx下载构建nuxt3开发模板失败的解决方案

在搭建nuxt3项目开发的时候,安装nuxt3开发模板的时候,使用命令: npx nuxi init my-app 会出出现一下错误: This is related to npm not being able to find a file. 发生上述错误是因为您有一个未正确安装的依赖项。 以下是解决…

大央企的“中央厨房”,泰裤辣

本文来源:特大号 作者:特大妹 最近两年,大央企大国企在数字化转型中,特热衷成立“中央厨房”。 有的中央厨房,单独挂牌为“数科公司”,有的中央厨房,升级为集团数字化转型的一级部门。 把之前各…

“警”彩集结|北峰通信亮相11届警博会,多场景助力警务智能化

2023年5月11日-14日,第十一届中国国际警用装备博览会(警博会)在北京首钢会展中心隆重召开。“警博会”作为中国乃至亚太地区最具影响力、最权威的警用装备盛会,代表了中国警用装备行业的最高水平。北峰通信作为服务公共安全实战30余年的企业,…

软考A计划-真题-分类精讲汇总-第十二章(法律法规与标准化)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

Web渗透 不断更新

Web渗透 SQL注入一般注入步骤 文件上传漏洞过滤绕过空格绕过 针对Linux特定字符过滤绕过 针对Linux(例如:cat) 序列号unserialize SQL注入 一般注入步骤 注入点 --> 查询注入字段数 --> 查询注入回显位 --> 查询当前数据库信息 --> 查询数据库表 --&g…

MySQL基础(三十四)锁

1. 概述 在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的 资源。为保证数据的一致性,需要对 并发操作进行控制,因此产生了 锁 。同时 锁机制 也为实现MySQL 的各…

HIT数据结构lab2-树型结构的建立与遍历

title: 数据结构lab2-树型结构的建立与遍历 date: 2023-05-16 11:42:26 tags: 数据结构与算法 哈尔滨工业大学计算机科学与技术学院 实验报告 课程名称:数据结构与算法 课程类型:必修 实验项目:树型结构的建立与遍历 实验题目&#xff1…

【目标检测】模型信息解析/YOLOv5检测结果中文显示

前言 之前写过一篇博文【目标检测】YOLOv5:标签中文显示/自定义颜色,主要从显示端解决目标中文显示的问题。 本文着重从模型角度,从模型端解决目标中文显示问题。 模型信息解析 正常情况下,可以直接加载模型打印信息&#xff0…

GPT专业应用:英语作文修改与解释

正文共 868 字,阅读大约需要 3 分钟 英语学习者/老师必备技巧,您将在3分钟后获得以下超能力: 快速修改英语作文 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人 | Kim 编辑者 | Linda …

字节外包做了5年软件测试,12月无情被辞,想给划水的兄弟提个醒

前言 先简单交代一下背景吧,某不知名 985 的本硕,17 年毕业加入字节,以“人员优化”的名义无情被裁员,之后跳槽到了有赞,一直从事软件测试的工作。之前没有实习经历,算是5年的工作经验吧。 这5年之间完成…

第45讲:Python集合对象生成式的概念以及应用案例

文章目录 1.什么是集合生成式3.使用集合生成式创建集合3.在集合生成式中使用if语句4.在集合生成式中使用嵌套for循环语句 集合的生成式和集合的非常类似,只是符号不同而已,集合的语法格式如下,可以看到只是和集合的符号不同: {集…

【Linux】Linux /proc/iomem与/proc/ioports

目录 1. 前言 2. /proc/iomem 2.1 简介 2.2 ioremap 2.3 mmap 3. struct resource 4. System RAM 4.1 System RAM 简介 4.2 page_is_ram 4.3 Kernel code、data、bss 5. /proc/ioports 6. /proc/iomem/与/proc/ioports/对比 6.1 API简介 6.3 源码解读 7.总结 8.…

再来跟我一起写 Makefile 沉痛悼念技术大牛左耳朵耗子(陈皓)

再来跟我一起写 Makefile 沉痛悼念技术大牛左耳朵耗子(陈皓) 左耳朵耗子redefence 左耳朵耗子 5 月 15 日早晨,一则意外消息打得我们猝不及防:MegaEase CEO、知名架构师、CSDN 资深博主(https://blog.csdn.net/haoel&…

Java的继承与实现

一、Java的继承与实现 继承可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。这种派生方式体现了传递性。 在Java中,除继承,还有一种体现传递性的方式叫实现。那么,这两者方式有何区别&#xff1f…

通信算法之153: 基于Matlab的OFDM通信系统关键基带算法设计

1. 发射机 TBD 2. 接收机 定时同步主要包括帧(分组)同步和符合同步两种,其中帧同步用于确定分组的起始位置。而符合同步在于正确地定出OFDM符号数据部分的开始位置,以进行正确的FFT操作。 载波频率同步先检测出频率偏移&#xf…

论文精读《Optical Measurement of Highly Reflective Surfaces from a Single Exposure》

摘要 高反射表面的三维结构光 (SL) 测量是工业计量面临的挑战。 高动态范围(HDR)技术通过融合多重曝光下的图像提供了解决方案; 然而,这个过程非常耗时。 本文报告了一种基于 SL 的新方法,仅通过一次曝光即可测量具有…