角度モジュールシステムを最も基本的な形態で理解するために、私はこれを見ていた:https://github.com/mgechev/angular-seed。Angular2モジュールシステム(TS付)
この種のプロジェクトでは、index.ts
とshared.module.ts
の両方を持つSharedModule
があります。 shared.module.ts
では、ディレクティブ、輸出、プロバイダなどを使用して角をエクスポートします。index.ts
では、それらを再エクスポートします。 app.module.ts
では、これは完璧なSharedModule.forRoot()
をインポートします。これは、NameListService
を登録してアプリケーション全体で利用できるようにします。しかし、NameListService
を使用する場合は、インポートする必要があります。これはhome.component.ts
に示されているimport { NameListService } from '../shared/index';
で行われます。home.module.ts
の一部であり、SharedModule
もインポートされます。
私によれば、これは完全に間違っています。
なぜこのようにインポートする必要がありますか?これはモジュール性を壊します。私が書いていないモジュールを使用していて、ファイルを探す場所がわからない場合はどうしたらいいですか?
shared/index.ts
の代わりにshared/index.ts
で使用する必要がある場合は、shared.module.ts
に登録して登録するのはなぜですか?
敬具
はい。私はこれを知っていますが、互いに通信することなく両方のシステムを並行して使用するのは奇妙な(不必要な)ものです。上記の例の私の問題は、有効なAngularモジュールの一部であっても、UserServiceが経由するパスを指定する必要があることです。 – mp3por
私は自分の答えを更新しました –