我试图开始使用Flowtype但是在导入子包时,例如
import isArray from 'lodash/isArray';
我的eslint抱怨找不到所需的模块。
我已经使用flow-typed install
来安装可以找到的所有lib defs。
关于如何解决这个问题的任何想法?
谢谢!
答案 0 :(得分:2)
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来支持这个用例。
答案 1 :(得分:0)
首先,Flow不是ESLint。它们是两个独立的工具。 flow-typed install
通常不会影响ESLint错误。
根据您问题中的信息,我看到了两种可能性:
lodash
。确保它在package.json
中列为依赖项并运行npm install
。flow-typed
lodash
libdef存在问题<a href="localhost/pdf/data.pdf"> Download this </a>
。在这种情况下,您可能需要弄清楚如何调整libdef以允许此操作。