我有一个用TypeScript 2.2编写的现有项目。 现在,我需要包含一个用TypeScript 2.6编写的外部库。
当我从该外部库导入一个类时,项目编译失败。
如果我尝试使用外部类中的任何函数,我会收到一个错误,例如 "提供的参数不匹配功能签名" (他们这样做)
如果我将TS升级到2.6,它将破坏整个项目。
有没有办法将2.6编译/降级到2.2或使用2个独立的编译器,一个用于项目(不包括使用2.6的库)和另一个用于该库的编译器。
答案 0 :(得分:1)
在tsconfig.json中使用"skipLibCheck": true
选项
答案 1 :(得分:0)
如果您真的无法升级到较新版本的TypeScript,则应该依赖外部库的JavaScript和类型定义。
打包TypeScript(即NPM)的推荐方法是仅包含.js
和.d.ts
文件,但是如果您找到了一个不会这样做的库,您可以通过使用--declaration
标志编译它来自己生成它,如下所示的示例tsconfig选项。
"compilerOptions": {
"declaration": true
}
如果不在程序中包含原始的TypeScript文件,则您不会依赖该库中的任何特定语言功能。