假设我想定义Node,ChildNode这样的类型/接口,这两个都是全局DOM类型,如果我定义或导入它们,我的本地类型将覆盖本地类型-正如我所期望的。2但是如果我想在一个使用我的自定义类型的文件中使用本地类型呢?是否可以添加一些名称空间或导入具有不同名称的本机类型,以便它们可以共存?
Node
ChildNode
6l7fqoea1#
本机类型的别名可以通过在全局命名空间中声明来创建。global.ts(tsconfig.json的typeRoots路径中存在的文件)
global.ts
tsconfig.json
typeRoots
declare global { type DOMNode = Node; type DOMChildNode = ChildNode; }
这使得DOMNode和DOMChildNode分别作为Node和ChildNode的别名在全局可用,这意味着我可以定义自己的类型ChildNode,并且能够在同一个文件中使用DOMChildNode的DOM类型。
DOMNode
DOMChildNode
type ChildNode = { /* ... */ } let myNode: ChildNode; let domNode: DOMChildNode;
这也可以通过本地导入来实现一个二个一个一个
1条答案
按热度按时间6l7fqoea1#
本机类型的别名可以通过在全局命名空间中声明来创建。
global.ts
(tsconfig.json
的typeRoots
路径中存在的文件)这使得
DOMNode
和DOMChildNode
分别作为Node
和ChildNode
的别名在全局可用,这意味着我可以定义自己的类型ChildNode
,并且能够在同一个文件中使用DOMChildNode
的DOM类型。这也可以通过本地导入来实现
一个二个一个一个