如何为新库编写typescript定义文件
How to write typescript definition files for new library?
如果您要编写自己的开源typescript库,您将如何构建typescript和typescript定义?根据我的理解,定义文件实际上是为编译器而存在的,所以当你的库被消耗时,有智能感知来帮助消费者。
然而,在开发库时,定义文件如何在内部工作?你会把你所有的类型(接口,类等)放在{module}.d。Ts文件并在内部引用定义文件,这样您就不必两次编写类型(一次在{module}中)。在{module}.d.ts?
在typescript编译器选项中,将"declaration"设置为true有什么意义?对我来说,自动化定义文件创建似乎没有帮助,如果它不会很有帮助(即注释)。
如果你的库有多个模块,你会为每个模块写一个单独的定义,并在定义之间添加引用,然后用一些自动器(即gulp, grunt)将它们连接起来吗?
建议使用什么方式来公开你的库,以便typescript消费者和javascript消费者都可以使用你的库?
你怎么用打字稿写测试?您会在测试文件中导入typescript模块吗?
在typescript中开发库时,不使用自己的类定义。它们是"自包含的",并且已经向转译器/IDE提供了所有类型信息。正如您所提到的外部消费者的定义。
将declaration
设置为true的目的是为了摆脱从typescript类中收集类型信息并将其粘贴到定义文件中的繁琐工作。正如我所说,这些信息已经存在于typescript文件中,并且可以被转译器自动提取。
关于如何组织定义和公开它们的方式——我确信有多种不同的方式,有一件事是肯定的——你不希望在两个地方手动编写相同的类定义。话虽如此,我可以给你一个例子,说明我是如何公开库项目并在另一个项目中使用它的。注意索引。ts文件在那里,以及如何根一个暴露在package.json -> typings
字段。在这里,您还可以通过jasmine找到库的单元测试示例。
- 为其他JS生成定义“;编译器”;来自TypeScript定义文件
- typescript定义构造函数或函数
- TypeScript定义外部类
- 我是否必须在每个文件中引用 TypeScript 定义
- Typescript定义:如何在类内部声明类
- 有没有一种简单的方法来安装TypeScript定义
- 如何为 commonjs 和 globals 生成 TypeScript 定义
- TypeScript 定义:名称相同,但模块内外的类型不同
- 尽可能创建最简单的typescript定义文件
- 是否应将TypeScript定义文件包含在_references.js中
- 在Backbone中使用Typescript定义一个collection's模型类型
- addmixin函数的Typescript定义
- 如何为新库编写typescript定义文件
- 当我使用的TypeScript定义文件缺少一个定义时,我该怎么办?
- 现有节点模块的TypeScript定义文件
- 如何在typescript定义中指定松散类型的对象字面量
- react-boostrap-typeahead的自定义Typescript定义
- 如何在没有TypeScript定义的情况下导入npm包,以便IDE仍然提供智能感知
- 命名空间类的Typescript定义
- 剑道,TypeScript定义错误: