You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在index.html中访问VITE环境变量?

在Vite的index.html中访问环境变量的正确方式

你当前的写法不符合Vite对index.html中环境变量的处理规则,所以无法获取到值,以下是问题分析和解决方法:

问题原因

  • 直接使用VITE_MY_VAR:浏览器全局环境中不存在这个变量,Vite不会自动将环境变量挂载到全局window对象上
  • 使用<% console.log(...) %>:这是EJS模板语法,Vite默认不对index.html启用EJS模板解析,这段代码会被当作普通文本处理,不会执行变量替换

正确步骤

1. 修正.env文件格式

.env中的变量值不需要添加引号(如果加了引号,引号会被当作变量值的一部分),修改为:

VITE_MY_VAR=HELLO WORLD

2. 在index.html中使用Vite的变量替换语法

Vite会自动将以VITE_开头的环境变量注入到index.html中,使用%变量名%的格式进行引用:

<script type="text/javascript">
   console.log('this is inside index.html');
   // 直接引用替换后的变量值
   console.log('my env var', '%VITE_MY_VAR%');
   
   // 或者赋值后使用
   const myEnvVar = '%VITE_MY_VAR%';
   console.log('assigned env var', myEnvVar);
</script>

3. 重启Vite开发服务

如果是在开发环境中修改了.env文件,需要重启Vite服务,确保新的环境变量被加载。

构建或运行项目后,%VITE_MY_VAR%会被替换为实际的HELLO WORLD,控制台就能正确打印出环境变量的值了。

内容的提问来源于stack exchange,提问作者Cookies

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 23:28:18