能否将@types/pkg纳入自研库以使其自带类型定义?
可行,有两种常见实现方式
直接将@types/pkg放入dependencies
平时开发时我们习惯把@types包放在devDependencies,但如果想让用户自动获取类型,把@types/pkg移到package.json的dependencies字段里就行。用户安装你的包时,@types/pkg会被自动安装到他们的项目依赖中,TypeScript会自动识别并使用这些类型。
注意:如果原pkg库后续自己内置了官方类型,可能会和@types/pkg产生类型冲突,这种情况需要及时调整依赖。将类型声明文件打包进你的库
从@types/pkg里复制需要的类型声明文件(Definitely Typed的类型采用MIT许可,可合法复用),放到你的包的types或src目录下,然后在package.json里配置"types": "./types/index.d.ts"(指向你的主声明文件),或者通过tsconfig.json的配置确保打包时包含这些类型文件。这样用户安装你的包后,无需额外安装任何@types包就能直接获得类型支持。
补充提醒:
- 第一种方式要注意锁定@types/pkg的版本,避免因版本更新导致的兼容性问题;
- 第二种方式需要定期同步原@types/pkg的更新,保证类型的准确性。
内容的提问来源于stack exchange,提问作者duduwe
相关产品推荐
相关产品推荐

