aar*_*ond 6 namespaces typescript angular
我正在构建一个大型应用程序,我正在尝试评估TypeScript和Angular2作为基本技术.
不幸的是,一旦我开始使用Angular2,我就遇到了使用自己的TypeScript文件命名的问题.
以英雄教程为例,我试图让它与我看待自己的应用程序的结构相匹配.
- app
-- boot.ts
- Heroes
-- Components
--- HeroDetail.ts
--- HeroList.ts
-- Interfaces
--- IHero.ts
Run Code Online (Sandbox Code Playgroud)
在这个结构中,我然后尝试为每个逻辑区域使用名称空间以便对它们进行分组.这导致IHero看起来像这样(例如):
namespace Heroes.Interfaces
{
export interface IHero
{
Id: number;
Name: string;
}
}
Run Code Online (Sandbox Code Playgroud)
在这个结构中构建项目很有效,直到我尝试通过以下方式将Angular添加到混合中:import {Component} from 'angular2/core';
当发生这种情况时,文件会丢失对同一名称空间中其他代码的所有引用,并且无法让它发现它们.
我已经看到这个问题是关于同样的问题.在那里,答案提到了"解决问题".出于这个原因,我认为这是可能的,但更重要的是我想知道为什么它不是在那一刻?这是一个bug还是设计?我一直在考虑在TS GitHub上提高它,但我希望在沿着这条路线前更好地了解情况.
谢谢你的建议!
这是一个错误还是设计使然?
这是设计使然。如果您使用文件模块,请勿使用名称空间。每个文件已经是一个模块。你的整个项目需要一个模块加载器。
阅读: Angular 2 模块与 JavaScript 模块 — Angular 2 架构文档
| 归档时间: |
|
| 查看次数: |
6053 次 |
| 最近记录: |