带有打字机es6导入语法的html-validator模块

时间:2019-02-12 12:18:03

标签: typescript npm ecmascript-6 html-validation

我想使用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版本

2 个答案:

答案 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";