【问题标题】:Why does Angular 2 name a module NgModule and not just Module为什么 Angular 2 将模块命名为 NgModule 而不仅仅是 Module
【发布时间】:2017-09-13 12:24:39
【问题描述】:

所以在 Angular 2 中,与 Angular1 (AngularJS) 相比,很多事情都得到了改进。我真的很高兴。但最让我困惑的是我认为不一致的命名:

组件:@Component
模块:@NgModule

为什么模块没有前缀 Ng,而组件却没有?这种不一致的命名有什么原因吗?

【问题讨论】:

    标签: angular module naming consistency


    【解决方案1】:

    Module 非常重载(例如,ES6 模块)。 例如,TypeScript 导入和@NgModule({imports: [...]}) 存在很多混淆。

    他们只是想弄清楚这个模块概念是关于什么的。 使用 Angular 时,Component 不太可能被混淆。

    【讨论】:

    • 那么他们不应该为了一致性而使用 NgComponent 吗?
    • 会有很多东西可以添加ngNg 作为前缀。此外,NgModule 是在 Angular 2.0.0 最终版发布前几天推出的。很多 Angular 代码此时已经存在,因为人们已经开始使用 Angular 的 alpha 版本。一致性并不那么重要。
    【解决方案2】:

    从 ECMAScript 2015 开始,JavaScript 有了模块的概念。 TypeScript 分享了这个概念。

    Modules (TypeScript)

    模块是 TypeScript 和 ECMAScript 中已经存在的概念。他们可能不想为“模块”引入双重含义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-02
      • 2020-09-05
      • 2017-01-09
      • 1970-01-01
      • 2014-05-19
      • 2013-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多