如何使用流js声明环境变量类型?

时间:2017-05-03 21:16:30

标签: javascript node.js flowtype

process.env访问的环境变量在运行flow时被视为未定义,因为解析器不知道其中包含的内容。

如何告诉解析器env对象是否存在以及它包含哪些键?

1 个答案:

答案 0 :(得分:3)

环境变量的内容就像在运行时给出的任何其他输入一样:它无法静态地知道。因此,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!