首页 > 解决方案 > 下一个 JS 环境变量在生产中不起作用

问题描述

根据 Next.js 文档,您需要next.config.js在 key 下声明您的环境变量,env以便在构建时读取它们:

env: {
    GOOGLE_ANALYTICS_ID: process.env.GOOGLE_ANALYTICS_ID
  }, 

这在我的本地环境中正常工作,变量被隐藏了_NEXT_DATA,我仍然可以从客户端访问它们。问题是在将应用程序部署到生产环境时,它无法再从process.env. 有没有人遇到过这个问题?注意:我不想公开敏感数据。将NEXT_PUBLIC_前缀添加到 env 变量是否也会暴露它们_NEXT_DATA

标签: reactjsenvironment-variablesnext.js

解决方案


您应该将环境变量存储在.env(对于 Next.js 版本 9.4 及更高版本)文件中,如下所示。如果您要部署到 Vercel,请参阅本指南


推荐阅读