带有 typescript es6 导入语法的 html-validator 模块
Posted
技术标签:
【中文标题】带有 typescript es6 导入语法的 html-validator 模块【英文标题】:html-validator module with typescript es6 import syntax 【发布时间】:2019-07-06 02:14:10 【问题描述】:我想用 es6 语法导入 html-validator 模块。
import validator from 'html-validator';
我收到此错误:
找不到模块“html-validator”的声明文件。 '.../node_modules/html-validator/index.js' 隐含地具有“任何”类型。尝试
npm install @types/html-validator
(如果存在)或添加包含declare module 'html-validator';
的新声明(.d.ts)文件
所以@types/html-validator
不存在。
我已经在 .ds.ts
文件中声明了模块:
declare module 'html-validator'
export = validator;
我又遇到了一个错误:
扩充中的模块名称无效。模块“html-validator”解析为“.../node_modules/html-validator/index.js”处的无类型模块,无法扩充
这是我的tsconfig.json
"compilerOptions":
"target": "es5",
"module": "commonjs",
"lib": ["es6","dom"],
"outDir": "build",
"rootDir": "src",
"strict": true,
"esModuleInterop": true,
"resolveJsonModule": true
这很好用。
const validator = require('html-validator');
但我更喜欢 es6 版本
【问题讨论】:
【参考方案1】:据我所知,我在npm
上看不到像@types/html-validator
这样的包。
所以,我们必须自己声明它的类型。
即使是 html-validator
的 documentation 导入方式与下面的方式相同。
const validator = require('html-validator');
【讨论】:
我知道@types/html-validator
包不存在。我已经提到过了。而且我知道在文档内部它与旧版本的导入一起使用。我只是想确定没有其他解决方案。【参考方案2】:
可能是其中一种对你有用:
import validator from "html-validator";
或
import html-validator from "html-validator";
【讨论】:
这也不好用import * as validator from "html-validator"
以上是关于带有 typescript es6 导入语法的 html-validator 模块的主要内容,如果未能解决你的问题,请参考以下文章
带有 es6 导入的 Module.exports 用于 typescript 中的 webpack.config.ts
导入的类不能在带有 TypeScript 的 Angular.js 中用作服务