vite获取所有环境变量(env)

0.环境变量文件

javascript 复制代码
API_URL=8888888
VITE_API_URL=9999999

1.定义环境变量


默认情况下,vite只获取以VITE_为前缀的环境变量。

为了防止意外地将一些环境变量泄漏到客户端,只有以 VITE_ 为前缀的变量才会暴露给经过 vite 处理的代码

但如果你觉得你是进击的巨人,放荡不羁爱自由,可以参考如下方案直接获取所有环境变量。

javascript 复制代码
import { defineConfig, loadEnv } from 'vite'

export default defineConfig(({ mode }) => {
  const env = loadEnv(mode, process.cwd(), '')
  // 如果你用的ts,请使用 let define: { [key: string]: string } = {};
  let define = {};
  Object.keys(env).forEach(key => {
    define[`import.meta.env.${key}`] = JSON.stringify(env[key])
  })
  return {
    //.....
    define: {
      ...define
    }
  }
})
  • mode:测试环境/正式环境/自定义环境
  • process.cwd():当前项目根目录
  • "" :加载所有环境变量

同理,既然可以暴露全部,你也可以拆分部分环境变量暴露:

javascript 复制代码
define: {
  "import.meta.env.API_URL":define["import.meta.env.API_URL"]
}

2.读取环境变量


vite客户端获取变量的方法和其他构建工具有一定差异,使用 import.meta.env.XX获取。

javascript 复制代码
console.log(import.meta.env)
相关推荐
henry1010104 分钟前
Deepseek辅助生成的HTML5网页版抄经典《弟子规》
前端·javascript·css·html·html5
少云清9 分钟前
【UI自动化测试】2_web自动化测试 _Selenium环境搭建(重点)
前端·selenium·测试工具·web自动化测试
大模型玩家七七35 分钟前
关系记忆不是越完整越好:chunk size 的隐性代价
java·前端·数据库·人工智能·深度学习·算法·oracle
全栈前端老曹37 分钟前
【Redis】Pipeline 与性能优化——批量命令处理、提升吞吐量、减少网络延迟
前端·网络·数据库·redis·缓存·性能优化·全栈
扶苏10021 小时前
深入 Vue 3 computed:原理、实战与避坑指南
前端·javascript·vue.js
盛夏绽放1 小时前
流式响应 线上请求出现“待处理”问题
前端·后端·nginx·proxy
人道领域1 小时前
Spring拦截器原理与实战详解
java·运维·服务器
茶杯梦轩1 小时前
从零起步学习并发编程 || 第一章:初步认识进程与线程
java·服务器·后端
weixin199701080162 小时前
虾皮商品详情页前端性能优化实战
前端·性能优化
ArcX2 小时前
手把手从 0 诠释大模型 API 的本质: Tools + MCP + Skills
前端·后端·ai编程