【发布时间】:2021-09-28 18:21:24
【问题描述】:
根据 Next.js 文档,您需要在 next.config.js 中的 env 键下声明您的环境变量,以便在构建时读取它们:
env: {
GOOGLE_ANALYTICS_ID: process.env.GOOGLE_ANALYTICS_ID
},
这在我的本地环境中正常工作,变量对_NEXT_DATA 隐藏,我仍然可以从客户端访问它们。问题是在为生产部署应用程序时,它无法再从process.env 读取。有没有人遇到过这个问题?
注意:我不想公开敏感数据。将NEXT_PUBLIC_ 前缀添加到环境变量是否也会将它们暴露给_NEXT_DATA?
【问题讨论】:
-
您可能正在阅读一些旧文档。您无需在
next.config.js中执行任何操作即可使 env 变量正常工作。 -
是的 - 在您的
.env中添加NEXT_PUBLIC_前缀会将这些前缀暴露给客户端。没有它,这些变量只能在服务器上使用
标签: reactjs environment-variables next.js