typescript - 告诉 TypeScript 使用另一个模块的类型来使用不同名称的当前模块

标签 typescript

我正在使用一个模块(dom-to-image),该模块具有类型(通过 Definely Typed)但未维护,因此我使用了一个 fork (称为 dom-to -image-more)其中还有一些更新。但是,fork 没有类型。

如何告诉 TypeScript 使用 dom-to-image 的类型,但将它们分配给其他模块?由于它们是通过 @types/dom-to-image 安装的,TypeSript 会自动将它们分配给该模块(如果我了解它如何正确工作,我现在就可以了)。

我可以通过创建 .d.ts 文件并添加 declare module "dom-to-image-more"; 来阻止 TS 提示。但我想保留原来的类型。

一个简单的解决方案是将模块中的类型复制粘贴到我的 .d.ts 中,但我更愿意重用原始类型。

最佳答案

您可以尝试在别名@types/dom-to-image-more下安装@types/dom-to-image:

yarn add -D @types/dom-to-image-more@npm:@types/dom-to-image

npm install --save-dev @types/dom-to-image-more@npm:@types/dom-to-image

package.json 文件中,它将是:

"@types/dom-to-image-more": "npm:@types/dom-to-image"

您可以像平常一样控制版本:

"@types/dom-to-image-more": "npm:@types/dom-to-image@^2.6.3"

关于typescript - 告诉 TypeScript 使用另一个模块的类型来使用不同名称的当前模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68032293/

相关文章:

reactjs - 带有用于自定义 Prop 的样式化组件条件 css 的 typescript

TypeScript:是否可以使用装饰器定义新的类成员?

javascript - 为什么按钮不打开按下按钮的模式?

javascript - Angular 6 : ERROR TypeError: el. toLowerCase 不是函数

typescript - 如果我的网站已经在使用 moment.min.js,如何使用 Moment.js TypeScript 定义文件?

typescript - 将 Object<T> 转换为 Object<A>,其中 A 包含在 T 中

Angular ngx-translate 在 typescript 中的用法

reactjs - Typescript React + Redux 中的联合类型出现类型错误时属性不存在

typescript - "FindConfigFiles"任务意外失败。 VS2015 Angular 2 的 Visual Studio 和 Typescript 问题

javascript - 如果 .ts 文件在文件夹中更深, typescript 无法找到要 bcrypt 的模块