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

Next.js项目中.env文件环境变量未被正常处理该如何解决?

问题原因及解决方法
  • 核心原因是Next.js的环境变量注入规则限制:只有以NEXT_PUBLIC_为前缀的环境变量,才会被注入到客户端打包代码中,可在_app.js这类前端组件中直接读取;不带此前缀的变量仅能在Node.js执行的服务端代码(如API路由、getServerSideProps、getStaticProps)中访问。你.env文件中的MAILCHIMP_PUBLIC_*变量不符合前缀要求,所以在前端页面读取不到。
  • 如果你需要在客户端使用这些MAILCHIMP相关变量,直接修改变量名前缀即可:
    调整后的.env文件示例:
    NEXT_PUBLIC_MAILCHIMP_PUBLIC_USERNAME=xxxxx
    NEXT_PUBLIC_MAILCHIMP_PUBLIC_DOMAIN=xxxx
    NEXT_PUBLIC_MAILCHIMP_PUBLIC_POST=xxxxxxxxxxxxxxxxxxxx&
    NEXT_PUBLIC_MAILCHIMP_PUBLIC_ID=xxxxxxxx
    
    读取代码同步修改为process.env.NEXT_PUBLIC_*对应格式,同时Vercel平台上配置的环境变量名也要同步改成带NEXT_PUBLIC_前缀的版本。
  • 其他排查项:
    • 确认Next.js版本不低于9.4,更早版本不支持原生.env文件加载,需要手动配置dotenv依赖
    • 修改.env文件后必须重启Next.js开发服务器,环境变量仅在服务启动时加载,热更新不会同步变更

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 14:36:04