Next.js 13.4.4-canary.2客户端获取NEXT_PUBLIC_BASE_URL始终为undefined
解决Next.js App目录下客户端环境变量返回undefined的问题
核心问题:访问方式错误
你直接写console.log(NEXT_PUBLIC_BASE_URL)是错误的,Next.js中客户端可访问的环境变量都挂载在process.env对象下,正确写法是:
console.log(process.env.NEXT_PUBLIC_BASE_URL);
必要操作:重启开发服务器
修改.env或.env.local文件后,必须重启next dev服务,否则新的环境变量不会被加载到应用中。
其他排查点
- 确认文件位置:
.env和.env.local必须放在项目根目录(与src、package.json同级),不能放在src目录内。 - 检查变量拼写:确保变量名完全是
NEXT_PUBLIC_BASE_URL,没有大小写错误或多余空格。 - 环境优先级:
.env.local会覆盖.env中的同名变量,不过你两个文件值一致,这一点不会影响结果。
内容的提问来源于stack exchange,提问作者Lonare
相关产品推荐
相关产品推荐

