在Typescript中,如何忽略NPM包';s内置声明文件?

在Typescript中,如何忽略NPM包';s内置声明文件?,typescript,Typescript,我正在使用NPM包react hyperscript帮助程序。当我导入它时,它将读取index.js,并从index.d.ts中获取类型。但是,这些类型似乎已经过时,因为我遇到了很多类似这样的错误: node_modules/react hyperscript helpers/lib/index.d.ts(546,53):错误TS2314:泛型类型“HTMLAttributes”需要1个类型参数。 我知道如何修复类型错误,但我当然无法编辑节点_modules下的文件,因为它将在下一次npm安装

我正在使用NPM包
react hyperscript帮助程序
。当我导入它时,它将读取
index.js
,并从
index.d.ts
中获取类型。但是,这些类型似乎已经过时,因为我遇到了很多类似这样的错误:

node_modules/react hyperscript helpers/lib/index.d.ts(546,53):错误TS2314:泛型类型“HTMLAttributes”需要1个类型参数。

我知道如何修复类型错误,但我当然无法编辑
节点_modules
下的文件,因为它将在下一次
npm安装中被覆盖

如何忽略包含的
.d.ts
文件而使用我的文件?

我试图忽略
tsconfig.json
中的所有
node\u模块
,并设置
typings
选项,但没有成功。这是该文件(如果有任何用途):

{
    "compilerOptions": {
        "outDir": "./dist/",
        "sourceMap": true,
        "noImplicitAny": true,
        "module": "commonjs",
        "target": "es5",
        "jsx": "react",
        "typeRoots" : ["./typings"]
    },
    "include": [
          "typescript/**/*"
      ],
      "exclude": [
        "node_modules/**/*",
        "node_modules/react-hyperscript-helpers/lib/*.ts"
      ]

}
第一种选择:

不要使用@types npm模块,将所有声明手动放入
d.ts
文件中,这些文件包含在
tsconfig.json
中。对于所有pkg,您必须使用
声明模块“mymod”{…}
包装定义

除此之外,请确保在配置“moduleResolution”中添加此compilerFlag:“classic”

第二种选择:

供应商提供要更正声明的整个npm包。您继续使用@types pkg,但修复了一个npm pkg不适合您的问题

第三:

向pkg创建者发送PR


这实际上是Arnavion在IRC freenode中的##typescript中的帮助的结果。只是为有问题的人张贴在这里。

也许你可以尝试一些路径选项,请查看