flowtype 将单个包导入标记为未找到
flowtype marks individual package import as not found
我正在尝试开始使用 Flowtype,但是在导入子包时,例如
import isArray from 'lodash/isArray';
我的 eslint 抱怨找不到所需的模块。
我已经使用 flow-typed install
安装了所有可以找到的 lib def。
知道如何解决这个问题吗?
谢谢!
首先,Flow 不是 ESLint。它们是两个独立的工具。 flow-typed install
通常不会影响 ESLint 错误。
根据你问题中的信息,我认为有两种可能:
- 您还没有真正安装
lodash
。确保它在 package.json
和 运行 npm install
. 中列为依赖项
- 你以某种方式通过 ESLint 传递 Flow 错误(尽管我不推荐这样做),
lodash
的 flow-typed
libdef 存在问题。在那种情况下,您可能需要弄清楚如何调整 libdef 以允许这样做。
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 以支持此用例。
我正在尝试开始使用 Flowtype,但是在导入子包时,例如
import isArray from 'lodash/isArray';
我的 eslint 抱怨找不到所需的模块。
我已经使用 flow-typed install
安装了所有可以找到的 lib def。
知道如何解决这个问题吗?
谢谢!
首先,Flow 不是 ESLint。它们是两个独立的工具。 flow-typed install
通常不会影响 ESLint 错误。
根据你问题中的信息,我认为有两种可能:
- 您还没有真正安装
lodash
。确保它在package.json
和 运行npm install
. 中列为依赖项
- 你以某种方式通过 ESLint 传递 Flow 错误(尽管我不推荐这样做),
lodash
的flow-typed
libdef 存在问题。在那种情况下,您可能需要弄清楚如何调整 libdef 以允许这样做。
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 以支持此用例。