Flow-typed - 生成Libdef

时间:2017-04-05 15:16:35

标签: flowtype flow-typed

我正在使用Flow来帮助创作一个JS项目。如果我想提供libdef file 来补充它,我是否需要手动创建它,或者我能够执行一些我不知道的魔法命令,它会为我生成lib def吗?

$ flow-typed doyourmagic之类的东西会很好。

编辑:

找到此https://stackoverflow.com/a/38906578/192999

其中说:

  

有两件事:

     

如果文件归您所有(即不是node_modules中的第三方lib等),那么您可以在其旁边创建一个记录其导出的* .js.flow文件。

     

如果文件不归您所有(即node_modules中的第三方lib等),那么您可以在flow-typed / name-of-library.js中创建一个libdef文件

     

对于.js.flow文件   你写这样的定义:

// @flow 
declare module.exports: { ... } 
  

对于libdef文件,您可以编写如下定义:

declare module "my-third-party-library" {   declare module.exports: {... } }

对于我的问题,我属于“由你拥有”阵营。

我想我很困惑:

  1. 我如何编写这些文件。
  2. 我如何/在何处发布这些文件以将其打包以供其他项目参考。
  3. 另外,为什么我需要手动创建.js.flow文件?这不是神奇地产生的吗?也许这是未来的意图但尚未实施。

1 个答案:

答案 0 :(得分:2)

我找到了一个很好的guide,展示了如何将流代码与编译代码打包在一起。所以:

  1. 您不必编写自己的libdefs,可以使用整个流程源代码。如果你想要一个只有类型声明的定义,你可以查看flow gen-flow-files,虽然这仍然是实验性的,但可能会失败。
  2. 您可以将它们打包为*.js.flow,流量检查器会在您导入库时自动选择它们。