错误:“找不到模块 'react-search-input' 的声明文件”
Posted
技术标签:
【中文标题】错误:“找不到模块 \'react-search-input\' 的声明文件”【英文标题】:Error: "Could not find a declaration file for module 'react-search-input'"错误:“找不到模块 'react-search-input' 的声明文件” 【发布时间】:2019-10-14 12:52:43 【问题描述】:我正在尝试安装react-input-search
。我有错误:
找不到模块“react-search-input”的声明文件。 '.../app/node_modules/react-search-input/lib/index.js' 隐含了一个 'any' 类型。 尝试
npm install @types/react-search-input
(如果存在)或添加包含declare module 'react-search-input';
ts(7016) 的新声明(.d.ts)文件
【问题讨论】:
我刚刚尝试在代码盒中使用react-search-input
,它似乎可以正常工作。您介意分享一些您的 package.json 文件和其他项目详细信息吗?
请提供一个可以重现问题的沙箱?
你想使用哪个库? react-input-search
或 react-search-input
?
确保在问题文本中使用react-search-input
而不是react-input-search
。
【参考方案1】:
这是一个常见错误,您可以通过创建index.d.ts
文件然后添加如下声明行来解决:
declare module 'react-input-search';
您可以将此文件保存在您希望的任何位置,但请确保将文件路径添加到tsconfig.json
,就像这样"typeRoots": [
"types/index.d.ts"
],
这是假设您将其保存在 types/index.d.ts
【讨论】:
【参考方案2】:您始终可以为这个库 react-search-input 创建类型定义库并将其放在definitelytyped 上,因此现在包括您在内的每个人都可以使用它。 Here is a guide 提供有关如何创建类型定义库的示例。
【讨论】:
【参考方案3】:Typescript 应该与 Typescript NPM 包一起使用,Typescript NPM 包的名称带有前缀 @types/。 NPM 包 react-search-input 还没有 Typescript 包,你可以通过以下方式简单修复
-
创建名为 globals.d.ts 的文件,并将其放在 Typescript watcher 文件夹的源根目录中
将 declare module 'react-search-input' 放在该文件中
它应该可以正常工作
【讨论】:
【参考方案4】:这是一个打字稿错误。这意味着“react-input-search”库中没有类型声明。没有包含类型的包 'react-input-search',因此您需要通过创建扩展名为 .d.ts
的文件(例如 libraries.d.ts
)并插入一行 @987654323 来声明在项目中使用这些库@进去。
【讨论】:
以上是关于错误:“找不到模块 'react-search-input' 的声明文件”的主要内容,如果未能解决你的问题,请参考以下文章