错误TS2688:找不到“ tooltip.js”的类型定义文件

时间:2019-02-16 19:04:52

标签: javascript typescript npm

npm tooltip.js软件包具有一个名为Tooltip的默认类Export。 但是当我在ts文件中导入该类并在其中打印时说未定义吗?是什么原因造成这个问题?

2 个答案:

答案 0 :(得分:0)

由于使用的是Typescript,因此需要为tooltip.js使用类型声明文件。

原因是Typescript要求您在代码中包含变量的类型信息。 JavaScript代码没有这种类型的信息,因此,当您将JavaScript代码文件导入Typescript代码文件时,您需要一个.d.ts文件来帮助Typescript使用该JavaScript代码。

现在,如果它是您自己的JavaScript代码,则可以简单地对其进行编辑并添加类型注释以符合Typescript,但您不应该在编辑第三方JavaScript库。一些库包括其类型声明。对于那些不需要的文件,您要么需要自己编写.d.ts文件,要么使用别人提供的开源文件。事实证明,后者是相当可行的。您可以在DefinitelyTyped上找到许多流行的第三方JavaScript文件的类型声明。

另外,请查看this answer

答案 1 :(得分:0)

我也遇到了这个问题,但是使用了不同的库jspdf。在我的情况下,我的tsconfig.app.json文件的类型数组中包含了 jspdf ,适用于CompilerOptions。

我不确定那是怎么实现的,但是删除它可以解决问题。

我基本上从

更改了src / tsconfig.app.json文件
{
  "extends": "../tsconfig.json",
  "compilerOptions": {
  "outDir": "../out-tsc/app",
  // "allowJs":true,
  "baseUrl": "./",
  "module": "es2015",
   "types": [
           "node","jspdf"
           ]
   },
  "exclude": [
    "test.ts",
    "**/*.spec.ts",
  ]
}

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
  "outDir": "../out-tsc/app",
  // "allowJs":true,
  "baseUrl": "./",
  "module": "es2015",
   "types": [
           "node"
           ]
   },
  "exclude": [
    "test.ts",
    "**/*.spec.ts",
  ]
}