【发布时间】:2017-07-17 14:55:50
【问题描述】:
我正在使用流类型的定义文件,但需要添加插件的定义,但看不到如何执行此操作?
假设一个 npm 模块有一个看起来像这样的外部流类型定义文件:
declare class LibStatic {
func1(): string;
}
declare module 'lib' {
declare var exports: LibStatic;
}
declare var globalLib: LibStatic;
如果func2需要的新方法动态添加到LibStatic,我将如何自定义外部流类型定义文件?
【问题讨论】:
-
通常动态地向现有类型添加属性与静态类型系统并不真正兼容。
-
@loganfsmyth 我不确定为什么这不再是静态的。我只是在寻找一种将其他方法添加为预定义定义的方法,但结果是静态类型。
-
如果属性已经在库本身中,那么它们应该在来自
flow-typed的定义中。如果不是,那么可能是您添加了它们,或者库导出以某种方式是动态的。其中任何一个都意味着导出不是静态的。 -
我理解,但如果是 jQuery,流类型的定义仅包含核心功能,并且根据配置的插件,$ 命名空间可以有额外的方法,也需要定义。你会怎么做?
-
我不能说您的特定插件,但通常我希望将具有插件行为的模块导入您需要的地方,该模块的导出定义扩展行为。
标签: javascript jquery flowtype flow-typed