【发布时间】:2021-09-20 13:27:20
【问题描述】:
在 Javascript 中,我可以像这样访问环境变量:
pizza = process.env.PIZZA
如果缺少该 envar/null/undefined,是否有一个简单的语法来引发错误?类似于 Bash ?:
pizza = process.env.PIZZA? // not real Javascript
是的,显然我可以明确地检查自己是否未定义:
pizza = process.env.PIZZA; if (!pizza) { throw ... }
但这很快就会重复。每次我想以任何语言访问一个 envar 时,如果该 envar 丢失,我想要一个错误。在我编写一个小实用程序来进行检查 (my_env.require('PIZZA')) 之前,我想确保我没有错过可以轻松实现这一目标的 Javascript 功能。
是否有任何简单的语言功能可以做到这一点?或者也许是一个替换 process.env 的库?
【问题讨论】:
-
编写你自己的函数来完成它。获取环境变量;检查
null或undefined;如果是,则抛出错误;返回值。然后打电话给它,而不是直接去process.env处理所有事情。 -
不幸的是,没有。访问不存在的属性只会返回
undefined,它不会出现错误。如果您尝试访问下一个级别,您只会收到错误消息,例如process.env.PIZZA.x -
在不久的将来,
process.env.PIZZA ?? throw new Error("Missing Pizza")可能会起作用。
标签: javascript null environment-variables