当前位置: 首页 > news >正文

Vue3 区分开发环境与生产环境

Vue3 区分开发环境与生产环境,并配置 API URL(Vite 项目)

在 Vue 3 使用 Vite 构建的项目中,我们可以通过 .env 文件来区分开发环境和生产环境,并动态设置 API 请求地址。这种方式非常适合前后端分离开发时切换不同接口地址的需求。

一、环境变量配置

Vite 支持通过项目根目录下的 .env .env.development .env.product 文件加载环境变量,根据当前模式自动读取对应的文件:

1. 默认配置(所有环境通用)

创建 .env 文件:

VITE_API_URL=/low-altitude-economys

2. 开发环境配置

创建 .env.development 文件:

VITE_API_URL=/low-altitude-economys_dev

3. 生产环境配置

创建 .env.production 文件:

VITE_API_URL=/low-altitude-economys

⚠️ 注意:VITE_ 前缀是必须的,否则变量不会暴露给客户端使用。

二、配置打包命令

package.json 中添加以下构建脚本:

{"scripts": {"build:dev": "vite build --mode development","build:prod": "vite build"}
}
  • 使用 npm run build:dev 打包开发环境。
  • 使用 npm run build:prod 打包生产环境。

三、在代码中访问环境变量

在组件或请求工具中使用如下方式获取环境变量:

console.log('API Base URL:', import.meta.env.VITE_API_URL);
console.log('当前模式:', import.meta.env.MODE); // 输出 'development' 或 'production'
console.log('是否是生产环境:', import.meta.env.PROD); // 布尔值
console.log('是否是开发环境:', import.meta.env.DEV); // 布尔值

四、输出结果说明

构建命令使用的 .env 文件输出的 API 地址
npm run build:dev.env.development/low-altitude-economys_dev
npm run build:prod.env.production/low-altitude-economys
本地开发.env.development/low-altitude-economys_dev
  • 当使用build:prod打包时输出

在这里插入图片描述

  • 当使用build:dev打包时输出

在这里插入图片描述

  • 本地开发时输出

在这里插入图片描述

这样就可以实现根据不同环境请求不同的后端服务,便于调试和部署。


总结:

通过 .env 系列文件配合 Vite 的环境机制,我们可以非常方便地管理 Vue3 项目的开发、测试、生产等多套环境配置。这种机制不仅适用于 API 地址的配置,也可以用于其他全局变量的管理。

如果你觉得这篇文章对你有帮助,欢迎点赞 + 收藏支持一下 😊!

http://www.xdnf.cn/news/438967.html

相关文章:

  • PostgreSQL常用DML操作的锁类型归纳
  • 搜索二维矩阵 II
  • 【达梦数据库】超出全局hash join空间问题处理
  • 生活实用小工具-手机号归属地查询
  • PaddleNLP框架训练模型:使用SwanLab教程
  • 养生:拥抱健康生活的实用之道
  • URP相机如何将场景渲染定帧模糊绘制
  • PyTorch中mean(dim=1)的深度解析
  • P2168 NOI2015 荷马史诗
  • Kubernetes排错(十七) :kubelet日志报device or resource busy
  • 【机器人】复现 SG-Nav 具身导航 | 零样本对象导航的 在线3D场景图提示
  • ​​开放传神创始人论道AI未来|“广发证券—国信中数人工智能赛道专家交流论坛“落幕
  • MySQL——九、锁
  • 【Linux】Ext系列文件系统
  • 卷积神经网络全连接层详解:特征汇总、FCN替代与性能影响分析
  • SRM电子采购管理系统:Java+Vue,集成供应商管理,实现采购流程数字化与协同优化
  • PyQt5完整指南:从入门到实践
  • 刘强东 “猪猪侠” 营销:重构创始人IP的符号革命|创客匠人热点评述
  • 如何创建自动工作流程拆分Google Drive中的PDF文件
  • iOS视频编码详细步骤(视频编码器,基于 VideoToolbox,支持硬件编码 H264/H265)
  • 深度学习基础知识
  • RK3588 串行解串板,支持8路GMSL相机
  • 嵌入式Linux Qt开发:1、搭建基于ubuntu18.04的Qt开发环境及测试(解决Qt creator输入法问题)
  • python三方库sqlalchemy
  • 【网络协议】TCP、HTTP、MQTT 和 WebSocket 对比
  • 内存虚拟盘(RAMDisk)是什么?
  • Axure设计之轮播图——案例“一图一轮播”
  • 基于策略的强化学习方法之策略梯度(Policy Gradient)详解
  • 如何高效集成MySQL数据到金蝶云星空
  • TAOCMS漏洞代码学习及分析