在使用Flow时使用Object而不是声明类型是不好的做法吗?

时间:2018-04-08 17:11:11

标签: javascript node.js flowtype

我有一个带有以下声明的函数:

export default (path: string, rules: Object): Promise<Object> =>
  ...

我知道规则应该如何,我应该创建一个类型规则吗?

type Rules = {
  ...
}

是否有可能以一种在转换代码后检查类型的方式配置Flow和Babel?

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您想使用any而非Object选择不使用Flow的类型检查器the way to do it is

Flow的文档清楚地说明了应该避免的东西,因为它首先破坏了使用Flow作为类型检查器的目的。

如果您说您已经知道Rules类型是什么,我强烈建议您创建Rules类型并使用它而不是Object。看起来Rules类型将成为对象类型,因此请查看Flow’s documentation about Object Types

至于你的后续问题,Flow检查Babel的已编译代码并没有多大意义。 You should be running flow status to type check your code. Babel删除了Flow的类型注释,因为它们是普通JavaScript中的语法错误。类型检查和转换是不同的事情。