Невозможно найти символ "Компоненты"

У меня есть 3 модуля в 3 отдельных папках, каждая (по тестам) с одним файлом:

  • компоненты /pagedList.ts
  • директивы / testDirective.ts
  • entity1 / entity1.ts

Который ок. выглядеть так

// pagedList.ts
module App.Components {
    export interface IPagedList<T> {
        ...
    }
}

// testDirective.ts
module App.Directives {
    export class TestDirective {
        ...
    }
}

// entity1.ts
module App.Entity1 {
    export interface IEntity1 {
        ...
    }
}

Когда я пытаюсь ссылаться на них как на зависимости, это работает для всех, кроме модуля App.Components, Как Intellisense (Visual Studio), так и мое задание по машинописи unable to find symbol 'App.Components', Это зарезервированное ключевое слово или что-то? Изменить: Попытка переименования и перемещения, все еще не работает, хотя.

var dependencies = [
    "ui.router", 
    "ui.bootstrap",
    Components, // Unable to find symbol 'Components'
    Directives,
    Entity1,
];

1 ответ

Решение

Это происходит потому, что App.Components это то, что называется необоснованным модулем. Поскольку в нем есть только интерфейс, компилятор создает только символ в пространстве имен типа и не создает никаких значений во время выполнения.

однажды Components в нем есть модуль класса, var или экземпляр, вы увидите, что ошибка исчезла. Вы можете вставить фиктивную неэкспортированную переменную здесь, если это необходимо.

Другие вопросы по тегам