无法找到符号'组件'

时间:2015-01-20 11:56:00

标签: visual-studio reference gruntjs typescript grunt-ts

我在3个单独的文件夹中有3个模块,每个文件夹(测试)有一个文件:

  • 组件/ pagedList.ts
  • 指令/ testDirective.ts
  • 使用实体/ 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)以及我的 typescript grunt 任务都是unable to find symbol 'App.Components'。这是保留关键字还是什么? 修改:尝试重命名和重新定位,但仍无效。

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

1 个答案:

答案 0 :(得分:3)

这是因为App.Components被称为未实例化的模块。因为其中只有一个接口,所以编译器只在类型命名空间中创建一个符号,并且不会在运行时创建任何值。

一旦Components中包含类,var或实例化模块,您就会发现该错误消失了。如果需要的话,你可以在这里放入一个虚拟的非导出变量。