尝试在本地使用Next.js
/NOW
托管站点的机密。
这些是我只想用于SSR
页面和API
函数(不是浏览器呈现的组件(的秘密。
与Zeit的文档相反,这些秘密似乎只有在存储在.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
的秘密将被"内置"到网站中,即公开可用。我是否误解了"构建"这个词?
我的问题已通过登录 zeit.co、转到我的应用程序的项目设置并为我的Framework Preset
选择Other
来解决。它以前已设置为Next
。
进行该更改后,当我运行now dev
时,我的本地环境变量开始出现在process.env
中。
这似乎是now 17.x
的怪癖.降级到now 16.7.3
也解决了这个问题。希望这能尽快解决!