typescript @types packages version 应该匹配他们的非类型包吗?

Should typescript @types packages version match their non types packages?

@types 使用与未类型化包相同的版本控制吗?

npm i bluebird @types/bluebird -S 给我

"@types/bluebird": "^3.5.0",
"bluebird": "^3.5.0",

好像还挺有道理的。

npm i request @types/request -S 给我

"@types/request": "0.0.41",
"request": "^2.81.0",

现在这让我有点害怕。 这是否意味着我们只有请求版本 0.0.41 的请求类型?

Should typescript @types packages version match their non types packages?

没有。 JS 包的 TypeScript 类型是最大努力,取决于

  • 官方 js 文档(通常缺乏)
  • 社区对包的兴趣

因此,版本不匹配是可以接受的,只要您了解它们的最大努力 性质。