流程声明文件 - 入门

Mar*_*ann 2 flowtype

假设我在一个名为"math.js"的文件中有这个.

function double(n) {
  return n * 2;
}

exports.double = double;
Run Code Online (Sandbox Code Playgroud)

如果我想在名为"math.js.flow"的单独文件中声明参数并返回"double"函数的类型,那么我会在该文件中放入什么?

And*_*ndy 5

你会把它放在你的.js.flow文件中:

// @flow

declare export function double(n: number): number;
Run Code Online (Sandbox Code Playgroud)

请注意,如果您的.js模块包含,module.exports = function foo()则需要执行以下操作:

declare function foo(): void;
declare module.exports: typeof foo;
Run Code Online (Sandbox Code Playgroud)

您还可以.js.flow使用该flow gen-flow-files命令生成文件.在撰写本文时,它有缺陷并且有时会失败,所以我仍然.js.flow手动编写我的文件,但如果成功,您可以查看它输出的内容以反向设计.js.flow格式的更多方面.