代码里 import.meta.env.VITE_API_URL 打印出来是 undefined,.env 文件里明明写了这一行。日志里能对上时间点,这种反而好排。
只有 VITE_ 前缀的变量才会注入客户端,而且 .env 要放在项目根目录,按当前 mode 选对应文件。这一点先确认清楚,后面就不用反复试。
# .env.production VITE_API_URL=https://api.example.com # 使用 console.log(import.meta.env.VITE_API_URL)
这次卡住的地方就在「vite 环境变量」这一环,单独把它拎出来验证,别和其他改动混在同一次发布里。偶发问题先统计频率,一小时几次和一天一次,查法完全不同。
改完顺手把文档补一句,省得下次自己重新推一遍。监控和日志的时间要对上,时区不一致会多绕很大一圈。
临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。
处理上按这个顺序:确认变量名带 VITE_ 前缀;把文件改成 .env.production 对应模式;改完重启 dev server 再看。
结果对不对很好判断,页面上能打印出接口地址,构建产物里也替换成了真实值。
