Next JS 环境变量在生产中不起作用

fro*_*vis 5 environment-variables reactjs next.js

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

env: {
    GOOGLE_ANALYTICS_ID: process.env.GOOGLE_ANALYTICS_ID
  }, 
Run Code Online (Sandbox Code Playgroud)

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

tne*_*e12 -2

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