
有几个选项可供选择,具体取决于所讨论的库生成ts文件,它的编写方式以及所需的精度水平. 让我们按从大到小的顺序查看选项.
也许它已经存在
始终首先检查DefinitelyTyped(). 这是一个社区回购协议,里面装有数千个.d.ts文件,很可能您正在使用的文件已经存在.

还应该检查TypeSearch(),它是NPM发布的.d.ts文件的搜索引擎;它的定义将比DefinitelyTyped多一些.
某些模块还发送其自己的定义作为其NPM分发的一部分,因此也请查看是否是这种情况,并尝试编写自己的定义.
也许您不需要一个

TypeScript现在支持–allowJs标志,并且将在.js文件中进行更多基于JS的推断. 您可以尝试在编译中包括.js文件和--allowJs设置,以查看这是否为您提供了足够好的类型信息. TypeScript可以识别这些文件中类似ES5的类和JSDoc注释,但是如果库以一种奇怪的方式初始化自身,则它可能会跳转.
开始--allowJs
如果--allowJs给您不错的结果,并且您想自己编写一个更好的定义文件,则可以将--allowJs与--declaration结合使用,以查看库类型中类型脚本的“最佳猜测”. 如果您编写的JSDoc注释写得不错并且编译器可以找到它们,则这将为您提供一个不错的起点.

开始使用dts-gen
如果–allowJs不起作用,则可能要使用dts-gen()获取起点. 该工具使用对象的运行时形状来精确枚举所有可用属性. 从好的方面来说,这通常非常准确,但是该工具不支持抓取JSDoc注释来填充其他类型. 您这样运行:
npm install -g dts-gen npm install -g yargs dts-gen -m yargs

这将在当前文件夹中生成yargs.d.ts.
点击“暂停”按钮
如果您只是想将来做所有事情,并且暂时没有任何类型生成ts文件,则可以立即在TypeScript 2.0中编写
declare module "foo";
这将允许您导入任何类型的“ foo”模块. 如果您有一个全球性企业,您想稍后再处理,只需编写
declare const foo: any;
这将为您提供一个foo变量.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-181443-1.html
我们家千玺配的棒棒的
省下的钱足够养得起军队了