Typescript 与外部模块同名的内部模块

Typescript 与外部模块同名的内部模块,typescript,Typescript,我有一些javascript库的定义。假设可以通过模块名Lib访问it函数 同时,我创建了如下模块: 模块Outer.Lib.Inner{ //一些代码 } 在这种情况下,如何限定外部模块的名称 由于外部模块库的完全限定名与内部模块声明冲突,因此我们在outer.Lib中,您需要创建别名: var ExternalLib = Lib; // or if you have it in TypeScript: // import ExternalLib = Lib; module Oute

我有一些javascript库的定义。假设可以通过模块名Lib访问it函数

同时,我创建了如下模块:

模块Outer.Lib.Inner{ //一些代码 } 在这种情况下,如何限定外部模块的名称

由于外部模块库的完全限定名与内部模块声明冲突,因此我们在outer.Lib中,您需要创建别名:

var ExternalLib = Lib; 
// or if you have it in TypeScript: 
// import ExternalLib = Lib;


module Outer.Lib.Inner {
  function SomeFunction(): void {
    // here i am trying to access outer Lib module but compiler thinks i am accessing my Outer.Lib module
    ExternalLib. ....

  }
}
在这种情况下,如何限定外部模块的名称

由于外部模块库的完全限定名与内部模块声明冲突,因此我们在outer.Lib中,您需要创建别名:

var ExternalLib = Lib; 
// or if you have it in TypeScript: 
// import ExternalLib = Lib;


module Outer.Lib.Inner {
  function SomeFunction(): void {
    // here i am trying to access outer Lib module but compiler thinks i am accessing my Outer.Lib module
    ExternalLib. ....

  }
}

你是说,Outer.Lib.Inner.Lib?不,我的意思是模块Lib存在于某处,我已经引用了它。同时,我有自己的名为Outer.Lib.Inner的模块。如何访问模块Outer.Lib.Inner中的第三方模块库的方法?编译器认为我试图访问我自己的模块Outer.Lib,但我想访问第三方引用的模块Lib。啊,我误读了你的句子。和往常一样,basarat在下面给出了正确的答案。你是说,Outer.Lib.Inner.Lib?不,我的意思是模块Lib存在于某处,我已经引用了它。同时,我有自己的名为Outer.Lib.Inner的模块。如何访问模块Outer.Lib.Inner中的第三方模块库的方法?编译器认为我试图访问我自己的模块Outer.Lib,但我想访问第三方引用的模块Lib。啊,我误读了你的句子。与往常一样,basarat在下面给出了正确答案。@basarat但这将导致浏览器中窗口对象的全局范围变量成员名为ExternalLib。除了丑陋之外,如果另一个模块可能是第三方库供应商选择了相同的别名呢?它们会发生碰撞并导致意外的结果。@dyna它并不比全局称为Lib更难看beforehand@basarat但这将导致浏览器中窗口对象的全局范围变量成员ExternalLib。除了丑陋之外,如果另一个模块可能是第三方库供应商选择了相同的别名呢?它们会发生碰撞,并导致意外的结果。@dyna它并不比预先全局调用Lib更难看