根据 Next.js 文档,您需要在 next.config.js
键下的 env
中声明您的 env 变量,以便在构建时读取它们:
env: {
GOOGLE_ANALYTICS_ID: process.env.GOOGLE_ANALYTICS_ID
},
这在我的本地环境中工作正常,变量对 _NEXT_DATA
是隐藏的,我仍然可以从客户端访问它们。问题是在为生产部署应用程序时,它无法再从 process.env
读取。有没有人遇到过这个问题?
注意:我不想暴露敏感数据。将 NEXT_PUBLIC_
前缀添加到 env 变量是否也会将它们暴露给 _NEXT_DATA
?
答案 0 :(得分:0)
您应该将环境变量存储在 .env
(对于 Next.js 9.4 及更高版本)文件中,如 here 所示。如果您要部署到 Vercel refer to this guide