如何在 TypeScript 中修改第三方库 A 的类型而不影响用户安装的 A 库?

求一个typescript 解决方案, 我遇到的问题是 我写了一个库 ,这个库依赖了 A, 我想修改这个A的某个类型,,并且导出给用户用户也能使用我修改过后的A, 但是用户安装了我的库也可能会安装A,但是我不要修改用户安装的A的类型。

A 库有非常多类型,然后基于我要修改的那个类型形成了几十个类型。
我试过 declare module A {
export interface xx {
yy: sometype
}
}
这个类型写到x.d.ts 里面只会在我的代码中生效,对于用户安装完成我的库之后使用我导出的类型,就会变成原始的A。
所以寻求解决方案。 目前我写了个脚本直接cp A的代码到项目中--。然后生成一段类型覆盖A 的代码 。

阅读 1.5k
2 个回答

让用户在自己的项目中添加一个 .d.ts 文件,并在其中引用你的 .d.ts 文件:

// index.d.ts
/// <reference types="your-module/x" />

现在是将A包fork下来并自己发一个A-魔改上去。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Microsoft
子站问答
访问
宣传栏