我想使用es6语法导入html-validator模块。
import validator from 'html-validator';
我收到此错误:
无法为模块``html-validator''找到声明文件。 '... / node_modules / html-validator / index.js'隐式为'any'类型。如果存在或添加包含
npm install @types/html-validator
的新声明(.d.ts)文件,请尝试declare module 'html-validator';
因此@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版本
答案 0 :(得分:0)
据我所知,我在@types/html-validator
看不到像npm
这样的软件包。
因此,我们自己必须声明其类型。
html-validator
的{{3}}导入方式与您一样,如下所示。
const validator = require('html-validator');
答案 1 :(得分:0)
可能是其中一种会为您工作:
node --experimental-modules my-app.mjs
或
import { validator } from "html-validator";