我想将Flow添加到我正在处理的当前项目中。一切都很好。但是,我无法找到一种方法保持类型后建立。我使用的是monorepo结构,我有很多NPM模块。如果模块更改了它的界面或者它的导出函数/类/类型发生了变化,我想得到一个错误。
非常欢迎任何想法/指导!
谢谢!
答案 0 :(得分:1)
如果你坚持其他人,包括你编译的包而不是源文件,你需要包含一个提供所有外部类型接口的.js.flow
文件。 Here's the interface file for Immutable.js as an example
除非您的库具有某种构建复杂性,需要分发其编译资产,否则我将依靠lib的使用者自行编译和删除类型。
答案 1 :(得分:1)
Webpack将JS文件捆绑到一个输出文件中,它无法在输出包中保留Flow类型。
如果要保留Flow逻辑以与一起使用此捆绑包,目前的最佳做法是将原始源代码包含为.js.flow
个文件。 This blog post详细阐述了这种方法,但简短版本是,您使用flow-copy-source
输出一堆与原始源代码匹配的.js.flow
个文件。