2017-07-15 8 views
1

の輸出額index.tsxxx.module.tsの違いは何ですか?
index.tsファイルを作成するのはなぜですか?index.tsとxxx.module.tsでの輸出の違い

index.ts

export * from './about.component'; 
export * from './about.routes'; 

xxx.module.ts

import { NgModule } from '@angular/core'; 
import { CommonModule } from '@angular/common'; 

import { AboutComponent } from './about.component'; 
import { AccordionModule } from 'ng2-bootstrap/components/accordion'; 

@NgModule({ 
    imports: [CommonModule, AccordionModule], 
    declarations: [AboutComponent], 
    exports: [AboutComponent] 
}) 
export class AboutModule { } 
+0

'index.ts'ファイルを作成する必要はありません。あなたはどこでそれを読んだのですか? – Dhyey

答えて

0

あなたが唯一の最後のクラス 思い出してくれるTATH輸出署名エクスポートxxx.moduleに を定義したファイルにすべてのパブリックプロパティをエクスポートへスコープの可視性です

0

インデックス.tsのエクスポート

index.tsファイルを持っている場合は、for easier access and readabilityからファイルをエクスポートできます。あなたは非常に深いファイル構造を持っているとしましょう:あなたはindex.tsファイルでできること

folder1 
|folder2 
|-|classToExport 
|-|folder3 
|---|folder4 
|-----|classToExport 

はあなたのプロジェクトにエクスポートするこれらのクラスとインターフェイスを統合することです。

// index.ts 
export * from ./folder1/folder2/someClass; 
export * from ./folder1/folder2/folder3/folder4/otherClass 

これで、index.tsファイルが作成されました。これらのクラスは、よりクリーンな方法で別の場所にインポートできます。

定義したindex.tsファイルを使用すると、これらのクラス/インターフェイスの両方を同じファイルからインポートできるようになりました。モジュールからクラスをエクスポート

モジュールの輸出

使用するために、他の人のためのツールとライブラリを開発するために非常に重要です。例としてPrimeNGを取る。あなたは自分のライブラリーからモジュールをインポート

// in one of your modules 
... 
    imports: [DataTableModule] 

あなたような何かを、あなたのモジュール内ので、自分のDataTableのいずれかを使用したいと今はDATATABLEを使用することができます。しかし、待って、あなたは決してimport Datatable from 'primeng'を言ったことはありません。 Datatableモジュールのみをインポートした場合、どのようにDatatableにアクセスできましたか? をモジュールからエクスポートしたためです。モジュールからクラスをエクスポートすることで、そのモジュールをインポートしてクラスを使用できるようになりました。