是否可以让TypeScript编译器检查JavaScript文件 foo.js
是否与其自己的声明文件 foo.d.ts
一致?
我们有一大堆JavaScript代码,出于各种原因,我们希望保留JavaScript . 但是,如果可能的话,我们希望使用TypeScript来实现两个目标:1)确认我们自己的JavaScript代码是类型安全的,以及2)向有兴趣使用TypeScript的客户提供声明 .
对于给定的JavaScript文件 foo.js
,我们可以创建相应的文件 foo.d.ts
以满足目标#2(支持TypeScript客户) . 但据我们所知, foo.d.ts
的存在不会导致 foo.js
的任何检查 . 也就是说,声明文件仅对 foo.js
的外部使用者感兴趣,并且编译器不验证JavaScript代码是否与其自己的.d.ts声明一致 .
我们已经尝试在 foo.js
中使用jsDoc类型注释,TypeScript编译器会验证该文件中的代码是否与那些声明的类型一致 . 这似乎满足目标#1(检查我们自己的代码) .
但是,jsDoc注释不像.d.ts声明文件中可能的完整TypeScript语法那样强大(例如,jsDoc对泛型的支持是基本的),这限制了我们可以使用它们的位置 . 此外,TypeScript编译器似乎没有提供jsDoc注释与.d.ts声明一致的任何验证 . 我们冒着这两种类型信息来源之间不一致的风险 .
我们正在寻找关于在像这样的JavaScript项目的上下文中利用TypeScript类型检查的最佳方法的指导 .
1 回答
并不是的 .
.js
文件几乎没有提供关于究竟是什么的上下文,并且不需要TypeScript .更多