重命名从TypeScript内部库中隐式导入的符号

时间:2018-11-21 18:17:58

标签: typescript import rename

我有一个模块,我在其中使用从Element内部库隐式导入的"dom"类。

但是,在同一模块中,我想定义一个自己的Element类。当然,这会导致名称冲突和痛苦的世界。

是否可以通过DOM库重命名隐式Element类?

理想情况下,我想要这样的东西:

import * as DOM from 'dom'; // <-- what do I write here?

class Element { // <-- my element
  private element: DOM.Element; // <-- reference to the original DOM element
}

1 个答案:

答案 0 :(得分:0)

到目前为止,我发现的唯一解决方案是定义一个指向原始DOM符号的自定义类型:

type DOMElement = Element;

namespace Acme {

  class Element {
    private element: DOMElement;
  }

}

这里的想法是将我的自定义Element类隐藏在命名空间中,并使用自定义类型间接引用DOM元素。

但是,更好的方法将受到高度赞赏。