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

Laravel 9 中Vite的import.meta.env为undefined问题咨询

问题原因解析

核心是Vite环境变量的作用域完全不同,别搞混了:

  • import.meta.env是给前端运行时代码用的——比如你的Vue组件、src目录下的JS模块,这些代码最终会被编译打包,运行在浏览器里。Vite会在编译阶段把.env里带VITE_前缀的变量注入到import.meta.env中,这也是官方文档说的场景。
  • vite.config.js是Node.js环境下运行的配置脚本,属于构建工具的后端逻辑。Node.js本身不认识import.meta.env,它的环境变量机制就是process.env。Laravel启动时会用Dotenv把.env里的所有变量加载到process.env里,所以你能在这里读到值。

你在vite.config.js里用import.meta.env会显示空的原因:
import.meta是ES模块的属性,但Node.js里的import.meta.env和Vite给前端注入的不是一回事——Vite不会在Node.js运行的配置文件里注入import.meta.env,这个变量只在前端编译过程中生效。

总结下正确用法:

  • 前端业务代码(src下):用import.meta.env.VITE_XXX
  • vite.config.js配置文件:用process.env.VITE_XXX

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 17:42:06