繁体   English   中英

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

[英]error TS2688: Cannot find type definition file for 'tooltip.js'

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

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

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

现在,如果它是您自己的 JavaScript 代码,您可以简单地编辑它并添加类型注释以符合 Typescript,但您不应该编辑 3rd 方 JavaScript 库。 一些库包括它们的类型声明。 对于那些没有的,您要么需要自己编写 .d.ts 文件,要么使用其他人开源的文件。 事实证明,后者是非常可行的。 许多流行的 3rd 方 JavaScript 文件的类型声明可以在绝对类型中找到。

另外,看看这个答案

我也遇到了这个问题,但是对于不同的库jspdf 就我而言,我的tsconfig.app.json文件在compilerOptions的类型数组中包含了一个jspdf

我不确定它是如何到达那里的,但删除它解决了这个问题。

我基本上将 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",
  ]
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM