当前位置: 首页 > 知识库问答 >
问题:

Typescript react-找不到模块“react-materialize”的声明文件path/to/module name.js隐式地具有any类型

宦烈
2023-03-14

我正试图从反应物化中导入组件-

import {Navbar, NavItem} from 'react-materialize';

但是,当网页包编译my.tsx时,它会抛出一个错误,如下所示-

ERROR in ./src/common/navbar.tsx
(3,31): error TS7016: Could not find a declaration file for module 'react-materi
alize'. 'D:\Private\Works\Typescript\QuickReact\node_modules\react-materialize\l
ib\index.js' implicitly has an 'any' type.

对此有什么解决办法吗?我不确定如何解决这个导入语句与ts-loader和webpack一起工作。

react-具体化的index.js看起来像这样。但是我如何解决这个模块导入在我自己的文件?

https://github.com/react-materialize/react-materialize/blob/master/src/index.js

共有3个答案

程皓轩
2023-03-14

我对反应还原类型也有同样的问题。最简单的解决方案是添加到tsconfig.json:

"noImplicitAny": false
{
  "compilerOptions": {
    "allowJs": true,
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    "isolatedModules": true,
    "jsx": "react",
    "lib": ["es6"],
    "moduleResolution": "node",
    "noEmit": true,
    "strict": true,
    "target": "esnext",
    "noImplicitAny": false,
  },
  "exclude": ["node_modules", "babel.config.js", "metro.config.js", "jest.config.js"]
}
顾永福
2023-03-14

对于那些想知道我是如何克服这一点的人。我做了一些黑客的事情。

在我的项目中,我创建了一个名为@types的文件夹,并将其添加到tsconfig.json中,以便从中查找所有必需的类型。看起来有点像这样-

"typeRoots": [
  "../node_modules/@types",
  "../@types"
]

在里面我创建了一个名为alltypes.d.ts的文件。从中找到未知的类型。所以对我来说,这些是未知的类型,我把它加在那里。

declare module 'react-materialize';
declare module 'react-router';
declare module 'flux';

所以现在打字稿没有抱怨再也找不到类型了。:)双赢的局面:)

古扬
2023-03-14

我有一个类似的错误,但对我来说是react router。通过为其安装类型解决了此问题。

npm install --save @types/react-router

错误:

(6,30): error TS7016: Could not find a declaration file for module 'react-router'. '\node_modules\react-router\index.js' implicitly has an 'any' type.

如果您想在站点范围内禁用它,您可以改为编辑tsconfig.json并将noImplicitAny设置为false

 类似资料:
  • 问题内容: 我正在尝试从react-materialize中导入组件- 但是当webpack正在编译我的文件时,它会为上述内容引发错误- 这个的任何解决方案。我不确定如何解析该导入语句以与webpack一起使用。 该反应-Materialise的长相很喜欢这一点。但是如何解决此问题的模块导入到我自己的文件中.. https://github.com/react-materialize/react-

  • 但是,如果我按以下方式导入,那么一切都正常: 我做错了什么?

  • TS7016:找不到模块rxjs的声明文件。'C:/Path/to/project/node_modules/rxjs/dist/cjs/index.js'隐含有'any'类型。如果存在,请尝试npm i--save-dev@type/rxjs,或者添加一个新的声明(.d.ts)文件,其中包含'声明模块'rxjs'; 我已经将NestJs更新为版本8,将rxjs更新为版本7。之后,导入停止工作。有

  • 我试图导入我的测试模块安装与和代码,它的工作正常,但在VSCode它有这样的东西: 我该如何申报呢?我已经把打字/索引归档了。d、 ts

  • 在xcode上构建react本机iOS应用程序时出现此错误。 在npm安装和rpm链接本机fs库后开始出现此错误。但在网上搜索解决方案后,我注意到许多人在安装其他react本机库时也会遇到同样的错误。 许多人建议的一个可能的解决方案是,在“构建设置”下添加以下内容- node_modules/React/React-(递归) 但没有运气与此解决方案仍然得到相同的错误

  • 我正在学习使用rspec在我的木偶模块上进行单元测试,但不知何故,我的简单模块“rspec_test”无法通过测试。该模块只包含一个 init.pp 文件,如下所示: init.pp 以下是执行“$ 佣金规范”的错误消息: 我将测试文件命名为“init_spec.rb ”,内容如下: 和其他文件... 耙 spec_helper.rb 我在模块的根目录中执行了“$ rspec-puppet-ini