请问一下:
我们在很多地方有看到 安装 @types/xxx
之类的信息。
请教两个问题:
1、@types/xxx 的作用是用于进行多个项目共用定义的type, interface对吗?
2、请问哪里有好的教程用于学习如何封装@types/xxx
然后进行打包上传呢?
请问一下:
我们在很多地方有看到 安装 @types/xxx
之类的信息。
请教两个问题:
1、@types/xxx 的作用是用于进行多个项目共用定义的type, interface对吗?
2、请问哪里有好的教程用于学习如何封装@types/xxx
然后进行打包上传呢?
答案:不完全正确。@types/xxx
的主要作用是提供 TypeScript 类型定义(typings)给那些已经存在的 JavaScript 库,这些库本身并没有包含 TypeScript 类型声明。这有助于在 TypeScript 项目中使用这些 JavaScript 库时获得类型检查和更好的开发体验。虽然这可以在多个项目中共享使用相同的类型定义,但其主要目的并非是为了创建跨项目的共享类型定义,而是为了使用已有的库时的类型兼容性。
答案:
学习如何封装 @types/xxx
并进行打包上传的教程相对不那么直接,因为大多数情况下,TypeScript 社区和开发者会为流行的库和框架贡献类型定义,而不是每个开发者都从零开始创建它们。然而,以下是一些资源和建议,可以帮助你开始这个过程:
阅读 TypeScript 官方文档:特别是关于声明文件(Declaration Files)的部分,它详细介绍了如何为现有 JavaScript 库编写类型定义。
@types
包:在 DefinitelyTyped 仓库中查看已有的类型定义包,这是一个大型的类型定义集合,包含了数千个 JavaScript 库的 TypeScript 类型定义。通过查看和学习这些已有的定义,你可以了解到如何为你的库或框架编写类型定义。创建你自己的类型定义包:
dtslint
工具来测试你的类型定义。发布你自己的 npm 包:
package.json
中正确配置类型定义文件的路径(通常通过 "types"
字段),然后将包发布到 npm 即可。注意:编写和贡献类型定义需要一定的 TypeScript 知识和对目标库的深入了解。如果你是首次尝试,建议从简单的库开始,并逐步扩展到更复杂的项目。
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
@/types/xxx
只针对以前那些老的js项目
,为了给TS项目
增加类型提示用的。如果npm 包
本身就是TS开发的,那么就不需要@/types/xxx
也没啥好学的,就是一份文档,写好后按照npm规范提交到npm库就行