尝试通过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
的秘密将被“内置”到该站点中,即公开可用。我误会“ build”这个词吗?
答案 0 :(得分:0)
我的问题已解决,方法是登录zeit.co,转到应用程序的项目设置,然后为Other
选择Framework Preset
。以前已将其设置为Next
。
进行更改后,我运行process.env
时,本地环境变量开始显示在now dev
中。
这似乎是now 17.x
的古怪之处。降级为now 16.7.3
也解决了该问题。希望很快能解决!