模块“domhandler”没有导出的成员“DomElement”。您的意思是改用“从“domhandler”导入 DomElement”吗?

Posted

技术标签:

【中文标题】模块“domhandler”没有导出的成员“DomElement”。您的意思是改用“从“domhandler”导入 DomElement”吗?【英文标题】:Module '"domhandler"' has no exported member 'DomElement'. Did you mean to use 'import DomElement from "domhandler"' instead? 【发布时间】:2021-10-08 04:24:00 【问题描述】:

我正在尝试构建一个 react-typescript 项目。 ii 没有安装 dom utils 和 html 解析器库。但是当我尝试运行 yarn build 时,出现以下错误

       ~~~~~~~~~~

../node_modules/@types/htmlparser2/index.d.ts:17:10 - error TS2614: Module '"domhandler"' has no exported member 'DomElement'. Did you mean to use 'import DomElement from "domhandler"' instead?

17 export  DomElement, DomHandlerOptions, DomHandler, Element, Node  from 'domhandler';
            ~~~~~~~~~~

../node_modules/@types/react-html-parser/index.d.ts:9:10 - error TS2305: Module '"htmlparser2"' has no exported member 'DomElement'.

9 import  DomElement  from "htmlparser2";

我尝试了以下一些步骤,

在 tsconfig.json 文件中添加了“skipLibCheck”:true

https://github.com/apostrophecms/sanitize-html/issues/333我尝试了他们所说的一些步骤,仍然没有用。

tsconfig.json 文件


  /* https://www.typescriptlang.org/docs/handbook/react-&-webpack.html */
  /* https://www.typescriptlang.org/docs/handbook/compiler-options.html */
  "compilerOptions": 
    "target": "es5",
    "module": "commonjs" /* webpack supports imports syntax */,
    "jsx": "react",
    "lib": ["es5", "dom", "es2015"],
    "strict": true,
    "moduleResolution": "node" /* load modules like node */,
    "esModuleInterop": true /* to treat commonJS 'module.exports' as 'default export' */,
    "importHelpers": true,
    "skipLibCheck": true,
  

这可能是一个重复的问题。但是我不知道如何解决这个问题,有人可以帮我解决这个问题吗??

【问题讨论】:

【参考方案1】:

删除您当前的 node_modules 文件夹和 package-lock.json 文件。 然后运行命令后,

npm cache clean --force

然后再次安装所有 npm 包

npm i

如果你能保留更好 -> "skipLibCheck": true 在 tsconfig.json 中。将有助于进一步解决此问题。

然后尝试再次构建项目。希望问题能得到解决。

【讨论】:

【参考方案2】:

如果您遇到这些错误,请检查您的 package.json。 可能您安装了不需要的类型定义,因为 htmlparser2 包包含所有必需的类型定义。

如果是这样,请将其删除并使用 @Kasunaz 的答案。

【讨论】:

以上是关于模块“domhandler”没有导出的成员“DomElement”。您的意思是改用“从“domhandler”导入 DomElement”吗?的主要内容,如果未能解决你的问题,请参考以下文章

没有导出的成员/节点模块

模块“ng”没有导出成员“IDirective”

打字稿模块没有导出的成员 - 反应

Vue / Typescript,得到模块'“*.vue”'没有导出成员

模块没有导出成员'IonicNativePlugin',Ionic2 for facebook

TS2614:模块没有导出成员“NextHandleFunction”