gpt4 book ai didi

angular - 将 Angular 与 TypeScript 和命名空间一起使用

转载 作者:太空狗 更新时间:2023-10-29 17:27:17 29 4
gpt4 key购买 nike

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

不幸的是,在我开始使用 Angular 后,我在为自己的 TypeScript 文件命名空间时遇到了问题。

Heroes tutorial 为例,我试图让它与我所看到的我自己的应用程序的结构相匹配。

- app 
-- boot.ts

- Heroes
-- Components
--- HeroDetail.ts
--- HeroList.ts

-- Interfaces
--- IHero.ts

在这个结构中,我然后尝试为每个逻辑区域使用 namespace 以便对它们进行分组。这导致 IHero 看起来像这样(例如):

namespace Heroes.Interfaces
{
export interface IHero
{
Id: number;
Name: string;
}
}

在此结构中构建项目效果很好,直到我尝试通过以下方式将 Angular 添加到组合中:import {Component} from 'angular2/core';发生这种情况时,该文件会丢失对同一命名空间中其他代码的所有引用,并且无法让它发现它们。

我看过 this question问了同样的问题。在那里,答案提到了“变通办法”。出于这个原因,我认为这是可能的,但更重要的是,我想知道为什么现在不这样做?这是错误还是设计使然?我一直在考虑在 TS GitHub 上提出它,但我想在走这条路之前获得更好的信息。

感谢您的任何建议!

最佳答案

Is this a bug or by design?

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

Read: Angular 2 Modules vs JavaScript Modules — Angular 2 Architectural Documentation

关于angular - 将 Angular 与 TypeScript 和命名空间一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34852909/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com