模块“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”吗?的主要内容,如果未能解决你的问题,请参考以下文章
Vue / Typescript,得到模块'“*.vue”'没有导出成员