2017-03-12 9 views
1

私はTypescriptのドキュメントを勉強していて、モジュールと名前空間の部分にあります。私はTypescript 1.5の内部モジュールと外部モジュールについていくつかの追加的な研究を行いました。Node.JSの機能はTypescriptで名前空間を無意味にしますか?

これまでのところ、namespacesの私の理解は、モジュール内で定義されているモジュールであり、明確にエクスポートされインポートされない限り他のモジュールから隠されています。 modulesは、どこでも使用できるモジュールです。私はambient modulesについての部分に着くと、それらを使用する方法とそれは本当に私は2つが存在するのだろうかと思っています。

私はとNode.JSを使用していましたが、AMD、System、およびRequire JSについて言及していることに気付きました。私は使用していませんでした。そのうちの1つを使用すると、ノードよりむしろ。これまでのところ、ノードでNamespacesAmbient Modulesの両方が動作することがわかりましたが、コードを混乱させるのを防ぐためにモジュールを使用することを推奨していますが、名前空間の使い方についてはまだまだ進んでいます。新しいバージョンでは、すでにこれらのことに精通しており、それらを高速化すると仮定しているように見えるので、古いバージョンに逆戻りして見始めました。誰かがこれにいくつかの光を当てることができますか?

答えて

1

あなたが学んだように、namespaceは、今日あなたのコードの内部構造を宣言するためにのみ使用する必要があります。

これまでは、JSの「グローバル名前空間」やJavaやC#などの他の言語の名前空間と同様に、アプリケーション構造全体を記述するために使用されていました。最近活字体でnamespaceを使用する

一つの方法は、グループにあり、インターフェースとサブクラスを定義:

export class Foo { 
    constructor(public option: Foo.Options) { } 
} 

export namespace Foo { 
    export interface Options { 
    foo: string 
    } 
} 
関連する問題