gpt4 book ai didi

typescript 声明合并库类型

转载 作者:搜寻专家 更新时间:2023-10-30 21:34:39 25 4
gpt4 key购买 nike

有人知道如何“扩展”(通过声明合并)接口(interface)声明,即在库文件中从 typescript 声明的地方吗?

在我的例子中,我想扩展库 lib.dom 中构建的 typescript 的接口(interface) HTMLCanvasElement。我知道声明合并是如何工作的,但我没有为接口(interface) HTMLCanvasElement 获得正确的导入。

import {HTMLCanvasElement} from '<what.to.use.here>';

declare module '<what.to.use.here>'{
interface HTMLCanvasElement{
//add my stuff
}
}

谢谢:)

最佳答案

这些类型存在于全局命名空间中。如果您在脚本文件中(即不是模块),您可以重新声明它。如果您在模块中,则需要在 global 中声明它,无需导入。

declare global{
interface HTMLCanvasElement{
my:number
}
}

export var x = 1;// just to make this module
let c: HTMLCanvasElement;
c.animate // regular stuff
c.my //my stuff

关于 typescript 声明合并库类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53568981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com