尝试在本地对Next.js/NOW-hosted站点使用机密。
这些是我只希望提供给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的秘密会被“构建”到站点中,也就是说,公开可用。我误解了“构建”这个词吗?
发布于 2020-02-10 14:28:51
通过登录zeit.co,进入我的应用程序的项目设置,并为我的Framework Preset选择Other,我的问题得到了解决。之前已将其设置为Next。
在进行了更改之后,当我运行now dev时,我的本地环境变量开始显示在process.env中。
这似乎是now 17.x的一个怪癖。降级到now 16.7.3也解决了这个问题。希望这个问题能很快解决!
https://stackoverflow.com/questions/60140256
复制相似问题