【问题标题】:Vercel next.js environment variable not workingVercel next.js 环境变量不起作用
【发布时间】:2021-03-30 15:36:10
【问题描述】:

我在 Next.js 项目中使用谷歌地图,一切都在本地运行。谷歌地图密钥存储在 next.config.js 中,我通过 process.env.NEXT_PUBLIC_GOOGLEMAPS 在代码中访问它

当我将项目部署到 Vercel 时,出于安全原因,我没有包含 next.js.config。所以我在 Settings -> Environment Variables 下添加了密钥

但是,环境变量在生产环境中不起作用。当我控制台记录 process.env.NEXT_PUBLIC_GOOGLEMAPS 时,我得到未定义

什么可能导致此问题,我该如何解决?谢谢

【问题讨论】:

    标签: javascript reactjs google-maps next.js vercel


    【解决方案1】:

    这就是我的设置工作的方式...

    1. 我有一个用于本地开发密钥的env.local 文件。 .env.local.* 添加到 .gitignore 这个文件有我的键/值对,如下所示:

    1 NEXT_PUBLIC_G_KEY=AFLkefjlkwblahblahblah

    1. 我有一个 next.config.js 文件,该文件在 env 空间中也包含此密钥:

    env: { NEXT_PUBLIC_G_KEY: process.env.NEXT_PUBLIC_G_KEY }(process.env 根据docs 开箱即用)

    1. 我部署到 vercel,因此我使用密钥的实际值创建了一个秘密...:

    $> yarn now secret add MyAppName_PRoD_G_KEY AFLkefjlkwblahblahblah

    1. 我在 vercel > 设置 > 环境变量中转到我的应用程序并在 UI 中创建一个新的,映射到我刚刚在命令行中创建的 secret

    【讨论】:

      猜你喜欢
      • 2022-11-23
      • 2020-10-04
      • 2021-11-02
      • 2022-10-23
      • 1970-01-01
      • 2021-11-13
      • 2020-11-25
      • 1970-01-01
      相关资源
      最近更新 更多