在TypeScript项目中直接引入Javascript包是不能使用的,因为包中缺少TypeScript类型声明,如果是自己写的包,可以考虑自己增加一个.d.ts类型声明文件,如果代码比较多或者使用的是第三方的包,自己写就比较麻烦了。第三方的包首先考虑找一个别人写好的声明文件,如果没有可以使用一些自动生成声明文件的工具。
解决方案一:找一个写好的声明文件
如果别人已经写好了的对应package的.d.ts文件。我们使用npm install --save @types/package就可以。
这个网站(https://microsoft.github.io/TypeSearch/)能搜到@types包含了哪些JS的包,一些常用的基本都有。
解决方案二:使用工具自动生成声明文件
使用tsc命令是可以生成声明文件的,但是不好用,另外找到一个很好的工具dts-gen(https://github.com/Microsoft/dts-gen),使用这个工具可以很方便生成。
主要步骤:
npm install -g dts-gen
npm install -g package
dts-gen -m package
生成的package.d.ts一般是在项目根路径下,如果使用声明文件提示出问题,例如提示重复的声明,可以删除.d.ts文件中的提示重复的内容即可,详细使用方法可以参考帮助文档。
其它工具:
dtsmake - d.ts file from a JavaScript file.
dtsgenerator - d.ts file generator tool, for only JSON Schema files.
js2tsd - d.ts file generator tool, no type inferrence.
JS2TSD d.ts file generator GUI tool app. Not CLI.
解决方案三:自己编写声明文件
参考官方文档:
https://www.tslang.cn/docs/handbook/declaration-files/introduction.html
https://www.tslang.cn/docs/handbook/declaration-files/templates.html