npm tooltip.js软件包具有一个名为Tooltip的默认类Export。 但是当我在ts文件中导入该类并在其中打印时说未定义吗?是什么原因造成这个问题?
答案 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",
]
}