
根据所涉及的库,库的编写方式以及所需的准确性水平,有一些选项可供您选择. 让我们以所需的大概顺序查看选项.
也许已经存在
请务必先检查DefinitelyTyped(). 这是一个充满成千上万个.d.ts文件的社区仓库,很可能您正在使用的东西已经存在. 您还应该检查TypeSearch()生成ts文件,它是NPM发布的.d.ts文件的搜索引擎;这将比DefinitelyTyped具有更多的定义. 有些模块还在NPM发行版中提供了自己的定义,因此在尝试编写自己的模块之前,请检查是否存在这种情况.

也许您不需要一个
TypeScript现在支持--allowJs标志,并将在.js文件中进行更多基于JS的推断. 您可以尝试在编译中包括.js文件和--allowJs设置,以查看它是否为您提供足够好的类型信息. TypeScript可以识别这些文件中的ES5样式类和JSDoc注释之类的内容,但是如果该库以一种奇怪的方式初始化自身,则可能会崩溃.
入门--allowJs

如果--allowJs给您良好的结果生成ts文件,并且您想自己编写一个更好的定义文件,则可以将带--allow_s的--declarationTypeScript与“ allowJs”一起使用,以“最佳猜测”库类型. 这将为您提供一个良好的起点,并且如果JSDoc注释写得很好并且编译器可以找到它们,那么它可能与手写文件一样好.
dts-gen入门
如果--allowJs不起作用,则可能要使用dts-gen()作为起点. 该工具使用对象的运行时形状来精确枚举所有可用属性. 从好的方面来说,这通常是非常准确的,但是该工具尚不支持获取JSDoc注释来填充其他类型. 您可以这样运行它:

npm install -g dts-gen
dts-gen -m <您的模块>
这将在当前文件夹中生成your-module.d.ts.

点击贪睡按钮
如果您只是想稍后再做,并且现在不使用任何类型,则可以使用TypeScript 2.0编写
声明模块“ foo”;
这将允许您使用import类型的“ foo”模块. 如果您将来想处理全球化事务,只需写
声明const foo: any;
这将为您提供一个foo变量.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-181446-1.html
伊拉克人民或许会投你的票