【发布时间】:2016-04-23 12:24:04
【问题描述】:
我正在构建一个大型应用程序,我正在尝试评估 TypeScript 和 Angular 作为要使用的基础技术。
不幸的是,在我开始使用 Angular 后,我在命名自己的 TypeScript 文件时遇到了问题。
以Heroes tutorial 为例,我试图让它与我看到自己的应用程序的结构相匹配。
- app
-- boot.ts
- Heroes
-- Components
--- HeroDetail.ts
--- HeroList.ts
-- Interfaces
--- IHero.ts
在这个结构中,我尝试为每个逻辑区域使用命名空间,以便对它们进行分组。这导致 IHero 看起来像这样(例如):
namespace Heroes.Interfaces
{
export interface IHero
{
Id: number;
Name: string;
}
}
在我尝试通过以下方式将 Angular 添加到组合中之前,以这种结构构建项目效果很好:import {Component} from 'angular2/core';
发生这种情况时,文件会丢失对同一名称空间中其他代码的所有引用,并且无法让它发现它们。
我看到this question 询问过同样的问题。在那里,答案提到了“解决方法”。出于这个原因,我认为这是可能的,但更重要的是,我想知道为什么它不是现在?这是一个错误还是设计使然? 我一直在考虑在 TS GitHub 上提出它,但我想在走这条路之前了解更多信息。
感谢您的建议!
【问题讨论】:
标签: angular typescript namespaces