【问题标题】:Next JS env variables not working in production下一个 JS 环境变量在生产中不起作用
【发布时间】: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


【解决方案1】:

您应该将您的环境变量存储在.env(适用于Next.js 9.4 及更高版本)文件中,如here 所示。如果您要部署到 Vercel refer to this guide

【讨论】:

    猜你喜欢
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多