为什么Flow需要注释导出函数的参数?

时间:2017-01-01 22:15:26

标签: flowtype

关注代码(Flow playground):

/* @flow */

function a(p) {}
module.exports = a

抛出异常

3: function a(p) {}
              ^ parameter `p`. Missing annotation

为什么?我希望参数any会自动采用p类型。

1 个答案:

答案 0 :(得分:6)

来自documentation

  

模块边界

     

Flow需要在模块边界进行注释。这允许Flow单独分析模块,从而提高跨模块边界检查类型的性能。我们发现这有助于改善模块接口的自我记录性质。