Javascript 什么';在Netlify函数中设置环境变量的正确方法是什么?
在netlify中设置环境变量的正确方法是什么?我希望能够根据环境为变量设置不同的值 伪代码:Javascript 什么';在Netlify函数中设置环境变量的正确方法是什么?,javascript,node.js,lambda,gatsby,netlify,Javascript,Node.js,Lambda,Gatsby,Netlify,在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.DEVELO
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\u CUSTOM\u 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_上下文
始终是未定义的
不幸的是,您正在寻找的内容目前似乎不受支持。尽管它们提供了另一种方法
我在他们的文档中发现了以下片段:
调用环境变量
直接使用环境变量作为
netlify.toml文件中的值($VARIABLENAME)不受支持。
但是,可以使用以下工作流替换中的值
假设您仅为
正在尝试更改标题或重定向。文件的其余部分将被读取
在构建之前-但是这些部分是在构建之后阅读的
过程
从这里可以看出:您无法解析Netlify函数中的环境变量的原因是,截至您提出问题时,Netlify没有从
Netlify.toml
文件传输环境变量
您必须将它们放入
app.netlify.com
仪表板中站点设置的管理面板。您在构建什么操作系统?Ubuntu Xenial 16.04您是在客户端还是服务器端读取这些环境变量?服务器端。我正在使用netlify函数