作者:书友35194403 | 来源:互联网 | 2022-12-09 13:23
即使tho模块已安装且存在,Flow无法解析它并引发错误.请参阅下面:1)在bash内部运行flow
,它会抛出错误,找不到模块
user@pc:~/code/project$ flow
Error ????????????????????????????????? src/functionalities/Growth/index.js:3:25
Cannot resolve module react-redux.
1? // @flow
2? import React from "react"
3? import { connect } from "react-redux"
4?
5? type Props = {
6? children: Function
Found 1 error
2)下面的命令检查目录是否存在,确实存在
user@pc:~/code/project$ ls node_modules | grep react-redux
react-redux
我试图删除并重新安装node_modules
目录和yarn.lock
文件.
版本应匹配:
flow version
Flow, a static type checker for Javascript, version 0.77.0
.flowconfig:
[version]
0.77.0
这很可能是Flow的错误,我也提交了问题.
1> cogell..:
如何解决它
您有两种选择:
手动存根依赖
引入flow-typed
为您找到依赖类型文件/存根
我使用选项2,但很高兴知道下面发生了什么
选项1
在.flowconfig
,在下面添加一个目录[libs]
,
...
[libs]
/type-def-libs
...
现在,在项目根目录和/type-def-libs/react-redux
包含的文件中创建该目录,
declare module 'react-redux' {
declare module.exports: any;
}
选项2
安装flow-typed
,如果使用纱线yarn add -D flow-typed
我希望尽可能在本地安装每个项目
跑 yarn flow-typed install
这将为它找到的模块安装任何类型定义文件,它将存根它找不到的任何模块,这与我们在选项1中所做的类似
为什么会发生这种错误
Flow正在查找要导入的模块的类型定义.因此,虽然该模块确实存在,但/node_modules
该模块中没有将类型定义文件签入其代码中.