让我们把lodash作为一个库的一个例子,它可以在许多模块中导出它的功能。
鉴于以下导入:
import { flow } from 'lodash'
import flow from 'lodash/flow'
import flow from 'lodash/fp/flow'
flow-typed
的当前lodash
libdef仅导出主lodash入口点的typedef,这意味着我们的第一个命名导入会被检查类型,但后两个默认导入不会。
我们可以为lodash/flow
创建一个新模块,并将flow
函数的默认导出声明为:
declare module 'lodash/flow' {
declare export default function flow(...funcs?: Array<Function>): Function;
declare export default function flow(funcs?: Array<Function>): Function;
}
我们如何以这样的方式提取这些函数声明:我们可以在主lodash入口点,命名的lodash/flow
模块以及lodash/fp/flow
模块中共享它们?
有没有办法在很多地方创建/存储声明?