【发布时间】:2017-09-13 12:24:39
【问题描述】:
所以在 Angular 2 中,与 Angular1 (AngularJS) 相比,很多事情都得到了改进。我真的很高兴。但最让我困惑的是我认为不一致的命名:
组件:@Component
模块:@NgModule
为什么模块没有前缀 Ng,而组件却没有?这种不一致的命名有什么原因吗?
【问题讨论】:
标签: angular module naming consistency
所以在 Angular 2 中,与 Angular1 (AngularJS) 相比,很多事情都得到了改进。我真的很高兴。但最让我困惑的是我认为不一致的命名:
组件:@Component
模块:@NgModule
为什么模块没有前缀 Ng,而组件却没有?这种不一致的命名有什么原因吗?
【问题讨论】:
标签: angular module naming consistency
Module 非常重载(例如,ES6 模块)。
例如,TypeScript 导入和@NgModule({imports: [...]}) 存在很多混淆。
他们只是想弄清楚这个模块概念是关于什么的。
使用 Angular 时,Component 不太可能被混淆。
【讨论】:
ng 或Ng 作为前缀。此外,NgModule 是在 Angular 2.0.0 最终版发布前几天推出的。很多 Angular 代码此时已经存在,因为人们已经开始使用 Angular 的 alpha 版本。一致性并不那么重要。
从 ECMAScript 2015 开始,JavaScript 有了模块的概念。 TypeScript 分享了这个概念。
模块是 TypeScript 和 ECMAScript 中已经存在的概念。他们可能不想为“模块”引入双重含义。
【讨论】: