【发布时间】:2017-10-01 21:09:38
【问题描述】:
从process.env 访问的环境变量在运行flow 时被认为是未定义的,因为解析器不知道其中包含什么。
如何告诉解析器 env 对象存在以及它包含哪些键?
【问题讨论】:
标签: javascript node.js flowtype
从process.env 访问的环境变量在运行flow 时被认为是未定义的,因为解析器不知道其中包含什么。
如何告诉解析器 env 对象存在以及它包含哪些键?
【问题讨论】:
标签: javascript node.js flowtype
环境变量的内容就像在运行时给出的任何其他输入一样:它不能静态地知道。因此 Flow 必须是保守的,并强制您使用运行时检查来验证它。下面是两个有效的运行时检查示例(复制自 https://github.com/facebook/flow/issues/1192#issuecomment-299140919)
// throw
if (!process.env.FOO) throw new Error('FOO missing');
const foo = process.env.FOO;
// fall back
const bar = process.env.BAR || 'bar';
(foo: string); // ok!
(bar: string); // ok!
【讨论】: