缺少类型注释错误流js

时间:2018-03-07 08:53:30

标签: node.js flowtype

我在项目中使用flow js进行静态类型检查。我在检查类型时遇到错误。

以下是我在项目中设置流程时所遵循的步骤。

npm i flow-bin -SD

在project.json中添加了命令:

"scripts": {
  "flow": "flow",
  "flow:check": "flow check ./src/"
}

现在,在运行npm run flow:check时,我收到此错误。

Missing type annotation for fn.

   6| module.exports = function( ds, schema, fn ) {
                                             ^^

1 个答案:

答案 0 :(得分:2)

因为Flow需要告诉它该函数的类型签名。

现在,如果你不能控制的代码(例如node_modules内部的代码),我建议将其排除在Flow之外。大多数图书馆都没有为Flow发布/捆绑类型定义(flow-typed repo可能有它们)。

如果这是您控制的代码(它是您应用程序代码的一部分),那么只需添加类型即可。例如(这是随机类型,您应该用正确的类型替换它们):

module.exports = function( ds: string, schema: number, fn: (string) => boolean ): boolean {
    // ...
};

在此示例中,ds参数必须是字符串,schema必须是数字,fn参数必须是接受字符串的函数唯一的参数,并在调用时返回一个布尔值。导出函数的结果类型也是布尔值。