2015-02-20 3 views
1

Когда я компилирую код ниже, выводим сообщение об ошибке компилятора tsc.Как импортировать префикс пространства имен whoes (псевдоним) whoes равно суффиксу собственного пространства имен в TypeScript?

Код: сообщение

module a { 
    export class Foo {} 
} 
module b.a { 
    import Foo = a.Foo; 
    class Bar {} 
} 

Ошибка:

sample.ts(5,5): error TS2305: Module 'b.a' has no exported member 'Foo'. 

Не могли бы вы сказать мне, почему компиляции ошибка occer? И если какое-либо решение? Спасибо заранее.

ответ

1

a в контексте модуля a (в том числе подмодуля b.a) относится к модулю a. Это просто необходимо, учитывая, как генерируется код для модулей.

Вы можете создать псевдоним где-то, где «неправильно» a не видно:

module a { 
    export class Foo {} 
} 

import global_a = a; 
module b.a { 
    import Foo = global_a.Foo; 
    class Bar {} 
} 
+0

Спасибо, я понял. И я буду использовать «_» вместо «.» (B.a -> b_a). Если мое решение проблематично, я был бы признателен, если вы скажете мне. –

Смежные вопросы