我写了一个名为redux-async-action-reducer的库。我用打字稿写了它。我想为它添加流程定义。
我有什么方法可以将它与我的图书馆一起保存,而不是创建一个单独的并将其放入flow-typed?
像流量定义文件的d.ts之类的东西?
答案 0 :(得分:2)
您可以在包裹入口点旁边附带.js.flow
文件。在您的情况下(因为您的包裹入口点为dist/index.js
,您将在dist/index.js.flow
创建一个文件。
Flow会将此视为普通源文件。您必须记住将// @flow
置于顶部。您可以使用存根实现来编写函数和类,也可以使用declare
(例如declare export function foo(x: string): string;
,类似于类)。
请注意,这实际上与库定义文件不同 - Flow会将其视为源代码。
Flow-typed是分发libdef的首选方式。当Flow在版本之间进行重大更改时,使用.js.flow
文件可能会导致问题。但是,由于您将分发一个手工策划的界面,而不是将整个库源作为.js.flow
文件发送,因此该问题将得到缓解。