找不到模块'react-window'的声明文件。'/app/node_modules/react-window/dist/index.cjs.js'隐含地具有'any'类型。

10 浏览
0 Comments

找不到模块'react-window'的声明文件。'/app/node_modules/react-window/dist/index.cjs.js'隐含地具有'any'类型。

我使用yarncreate-react-app以Typescript模板创建了一个React项目,即使在安装和使用其他模块后,它也正常工作。

之后,我使用了yarn add react-windowyarn add @types/react-window --dev,出现了以下错误:

yarn run v1.22.5
$ react-scripts build
正在创建优化的生产构建...
编译失败。
/app/src/components/Table.tsx
/app/src/components/Table.tsx(1,31)中的TypeScript错误:
无法找到模块'react-window'的声明文件。'/app/node_modules/react-window/dist/index.cjs.js'隐式具有'any'类型。
如果存在,请尝试`npm i --save-dev @types/react-window`,或者添加一个包含`declare module 'react-window';`的新声明(.d.ts)文件。  TS7016
> 1 | import { FixedSizeList } from "react-window";
    |                               ^
  2 | import AutoSizer from "react-virtualized-auto-sizer";
  3 | import InfiniteLoader from "react-window-infinite-loader";
  4 | import { LISTINGS_ENDPOINT } from "../../endpoints";
错误命令以退出代码1结束。
有关此命令的文档,请访问https://yarnpkg.com/en/docs/cli/run。

即使在我的开发环境中运行npm i --save-dev @types/react-window仍然导致相同的错误。

该应用程序在Docker中运行,并在RUN yarn build命令上失败。在使用react-window之前没有任何问题。

发生了什么?Stack Overflow上关于此错误的其他帖子是通过安装类型模块(用于不同的库)或将noImplicitAny设置为false来解决的。例如在这里

0
0 Comments

从报错信息中可以看出,问题出现在引入了 react-window 这个模块后,编译器找不到该模块的声明文件,导致出现了隐式的 any 类型。

出现这个问题的原因是项目中缺少了 react-window 模块的类型声明文件。

解决这个问题的方法是通过使用命令 yarn add /react-window --save 来安装 react-window 模块,并将其保存到项目的依赖中。

通过执行上述命令,可以解决找不到声明文件的问题,使编译器能够正确地识别和使用 react-window 模块。

0