【问题标题】:Accessing secrets locally on Next.js/NOW for SSR and API routes在 Next.js/NOW 上本地访问 SSR 和 API 路由的机密
【发布时间】:2020-05-25 04:08:33
【问题描述】:

尝试通过 Next.js/NOW 托管的站点在本地使用机密。

这些是我只希望SSR 页面和API 函数(不是浏览器呈现的组件)可以使用的秘密。

Zeit's documentation 不同,这些秘密似乎只有在存储在.env.build 时才有效。如果它们存储在 .env 中,它们将显示为 undefined

换句话说,这是可行的:

.env.build

SECRET_KEY="2039usdljkhfklsjdfjaops9dfi09"

now.json

{
  "build": {
    "env": {
      "SECRET_KEY": "@secret-key"
    }
  }
}

这不是:

.env

SECRET_KEY="2039usdljkhfklsjdfjaops9dfi09"

now.json

{
  "env": {
    "SECRET_KEY": "@secret-key"
  }
}

我错过了什么吗?

我担心放入 build 的秘密将被“内置”到网站中,即公开可用。我误解了“构建”这个词吗?

【问题讨论】:

    标签: node.js reactjs environment-variables next.js vercel


    【解决方案1】:

    我的问题已通过登录 zeit.co、转到我的应用程序的项目设置并为我的 Framework Preset 选择 Other 得到解决。之前已设置为Next

    进行该更改后,当我运行 now dev 时,我的本地环境变量开始显示在 process.env 中。

    这似乎是now 17.x 的一个怪癖。降级到now 16.7.3 也解决了这个问题。希望这个问题很快得到解决!

    【讨论】:

      猜你喜欢
      • 2020-08-12
      • 2015-05-12
      • 1970-01-01
      • 2021-01-12
      • 2015-03-12
      • 1970-01-01
      • 2021-11-02
      • 2019-10-18
      • 1970-01-01
      相关资源
      最近更新 更多