Hasty Briefsbeta

双语

JSDoc types are not TypeScript types

5 months ago
  • #JavaScript
  • #JSDoc
  • #TypeScript
  • JSDoc类型标注不会被npm、jsdocs.io或tsdocs.dev识别
  • npm仅在package.json中指定指向.d.ts文件的'types'键时才会显示'TS'徽章
  • tsdocs.dev和jsdocs.io需要.d.ts文件才能正常工作
  • VSCode的TypeScript语言服务器能识别JSDoc类型,但不会以处理.d.ts文件的方式处理node_modules/**/*.js
  • 使用JSDoc类型标注的npm包会导致TypeScript出现缺少声明文件的警告
  • 解决可见性问题的方法是使用'tsc --allowJs --checkJs --declaration'从JSDoc类型生成.d.ts文件
  • 另一种方案是手动编写无类型的.js文件,并单独提供.d.ts类型声明文件
  • 文章表达了'直接使用JSDoc'目前还不能完全替代JS编译步骤的无奈