Eslint flowtype将单个包导入标记为未找到
我试图开始使用Flowtype,但在导入子包时,例如Eslint flowtype将单个包导入标记为未找到,eslint,flowtype,Eslint,Flowtype,我试图开始使用Flowtype,但在导入子包时,例如 import isArray from 'lodash/isArray'; 我的eslint正在抱怨找不到所需的模块 我已经使用flow-typed install安装了所有可以找到的lib-def 有没有办法解决这个问题 谢谢 首先,流不是ESLint。它们是两个独立的工具流类型安装通常不会影响ESLint错误 根据你问题中的信息,我认为有两种可能性: 您尚未实际安装lodash。确保它作为依赖项列在您的包.json中,然后运行npm安装
import isArray from 'lodash/isArray';
我的eslint正在抱怨找不到所需的模块
我已经使用flow-typed install
安装了所有可以找到的lib-def
有没有办法解决这个问题
谢谢 首先,流不是ESLint。它们是两个独立的工具<代码>流类型安装通常不会影响ESLint错误 根据你问题中的信息,我认为有两种可能性:
lodash
。确保它作为依赖项列在您的包.json中,然后运行npm安装
lodash的流类型的libdef存在问题。在这种情况下,您可能需要弄清楚如何调整libdef以允许这样做
Flow将lodash/isArray处理为自己的模块,因此需要告知该模块的导出内容 修改
lodash
libdef以导出lodash/isArray
您可以这样做(我提取了libdef的一个子集,并向您展示了需要更改的内容)
声明模块'lodash/isArray'{
声明函数isArray(值:any):bool;
declare module.exports:isArray的类型
}
声明模块“lodash”{
声明类别Lodash{
isArray:$出口
}
申报var出口:Lodash;
}
如果你有任何问题,请告诉我
如果人们按照您的方式加载lodash模块是正常的,那么应该更新整个libdef以支持此用例。谢谢Nat。1) lodash确实与
npm i-S
2)有关,因此流类型的libdef和lodash之间存在一个问题,这是这个问题的核心,如何“调整libdef以允许此操作”。当您从“lodash”导入{isArray}时,它是否有效?看起来libdef流没有处理模块名“lodash/isArray”@LewisChung很抱歉延迟,是的,它可以工作
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;
}