2017-09-13 8 views
2

角2では、Angular1(AngularJS)に比べて多くのことが改善されました。私は本当にそれに満足しています。しかし、何が私は混乱し、ほとんど私の意見では一貫性のない命名である:なぜ角2はモジュールNgModuleであり、モジュールではないのですか

コンポーネント:@Component
モジュール:@NgModule

コンポーネントがないときに、なぜモジュールは、呉の接頭辞を付けることでしょうか?この一貫性のない名前付けには何らかの理由がありますか?

答えて

3

Moduleはかなりオーバーロードされています(たとえばES6モジュール)。 TypeScriptのインポートには多くの混乱があり、たとえば@NgModule({imports: [...]})です。

彼らはこのモジュールの概念が何であるかを明確にしたかっただけです。 Componentは、Angularを使用すると混乱することはまずありません。

+0

ただし、一貫性のためにNgComponentを使用しないでください。 – NikxDa

+0

接頭辞として 'ng'や' Ng'を追加できるところがたくさんあります。また、Angular 2.0.0の最終版がリリースされる数日前に 'NgModule'が導入されました。人々はアルファバージョンで既にAngularで作業を開始していたので、すでに多くのAngularコードがこの時点で存在していました。一貫性はそれほど重要ではありません。 –

+0

これは物事をクリアする!ありがとう! – NikxDa

1

JavaScriptはECMAScript 2015から、モジュールの概念を持っています。 TypeScriptはこの概念を共有しています。

Modules (TypeScript)

モジュールは、活字体とECMAScriptの中に既存の概念です。彼らはおそらく "モジュール"のために二重の意味を導入したくありませんでした。

関連する問題