繁体   English   中英

在TypeScript和命名空间中使用Angular

[英]Using Angular with TypeScript and Namespaces

我正在构建一个大型应用程序,并且正在尝试将TypeScript和Angular评估为要使用的基本技术。

不幸的是,一旦开始使用Angular,我在命名自己的TypeScript文件时就会遇到问题。

Heroes教程为例,我试图使其与我看到自己的应用程序结构化的方式匹配。

- 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'; 发生这种情况时,文件将丢失对同一命名空间中其他代码的所有引用,并且无法使其发现它们。

我已经看到这个问题问过同样的问题。 在那里,答案提到“解决方法”。 由于这个原因,我认为这是可能的,但不仅如此,我还在想为什么现在不知道呢? 这是错误还是设计使然? 我一直在考虑在TS GitHub上进行开发,但是在沿这条路线走前,我希望有所了解。

感谢您的任何建议!

这是错误还是设计使然?

这是设计使然。 如果使用文件模块,请不要使用名称空间。 每个文件已经是一个模块 您的整个项目都需要一个模块加载器。

阅读: Angular 2模块与JavaScript模块— Angular 2建筑文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM