首页 文章

TypeScript可以验证.js文件是否与其自己的.d.ts声明一致?

提问于
浏览
1

是否可以让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 回答

相关问题