美文网首页Node.js开发
TypeScript项目中引入Javascript包增加.d.t

TypeScript项目中引入Javascript包增加.d.t

作者: 菲翔_ | 来源:发表于2019-01-07 15:02 被阅读0次

    在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

    相关文章

      网友评论

        本文标题:TypeScript项目中引入Javascript包增加.d.t

        本文链接:https://www.haomeiwen.com/subject/jzeurqtx.html