【发布时间】:2019-07-28 02:01:00
【问题描述】:
在netlify中设置环境变量的正确方法是什么?我希望能够根据环境为变量设置不同的值。
伪代码:
let host;
if (process.env.GATSBY_CUSTOM_CONTEXT === 'production') {
host = process.env.PRODUCTION_HOST
} else if (process.env.GATSBY_CUSTOM_CONTEXT === 'development') {
host = process.env.DEVELOPMENT_HOST
}
我尝试通过 CLI 传递 env 变量,例如 GATSBY_CUSTOM_CONTEXT=production gatsby build,我还尝试使用与 cross-env 相同的命令。
我的另一个尝试使用了netlify.toml:
[build]
base = "/"
publish = "public"
command = "yarn build"
functions = "src/functions"
[context.production]
[context.production.environment]
GATSBY_CUSTOM_CONTEXT = "production"
所有这些选项都在本地使用 netlify dev,但在生产中 GATSBY_CUSTOM_CONTEXT 始终是 undefined。
【问题讨论】:
-
你正在构建什么操作系统?
-
Ubuntu Xenial 16.04
-
你是在客户端还是服务器端读取这些环境变量?
-
服务器端。我正在使用 netlify 函数
标签: javascript node.js lambda gatsby netlify