我正在尝试开始使用 Flowtype,但在导入子包时,例如
import isArray from 'lodash/isArray';
我的 eslint 提示找不到所需的模块。
我已经使用流程类型安装
来安装所有可以找到的库定义。
知道如何解决这个问题吗?
谢谢!
最佳答案
Flow 将 lodash/isArray
视为它自己的模块,因此需要告知该模块的导出是什么。
修改 lodash
libdef 以导出 lodash/isArray
。
你可以这样做(我提取了 libdef 的一个子集并向你展示了需要更改的内容)
declare module 'lodash/isArray' {
declare function isArray(value: any): bool;
declare module.exports: typeof isArray
}
declare module 'lodash' {
declare class Lodash {
isArray: $Exports<'lodash/isArray'>
}
declare var exports: Lodash;
}
如果您有任何疑问,请告诉我。
如果人们按照您的方式加载 lodash 模块是正常的,则应该更新整个 libdef 以支持此用例。
关于eslint - flowtype 将单个包导入标记为未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43279745/