在 Next.js/NOW 本地访问 SSR 和 API 路由的秘密

Accessing secrets locally on Next.js/NOW for SSR and API routes

尝试在本地使用 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 中的秘密会 "built" 进入网站,即公开。 "build?"

是不是我理解错了

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

进行更改后,当我 运行 now dev.

时,我的本地环境变量开始显示在 process.env

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