Angular 4プロジェクトでファイルとフォルダを整理して、簡単に移動できるようにする方法です。 今私はこのようにしています。角度のある4つの簡単なフォルダ構造の変更アーキテクチャ
├───core
│ │ core.module.ts
│ │ index.ts
│ │
│ ├───models
│ │ │ index.ts
│ │ │
│ │ ├───api
│ │ │ api-response-list.interface.ts
│ │ │ api-response.interface.ts
│ │ │ index.ts
│ │ │ page-search-params.interface.ts
│ │ │
│ │ └───auth
│ │ auth-token.interface.ts
│ │ index.ts
│ │ token-type.type.ts
│ │
│ └───services
│ api.service.ts
│ auth-token.service.ts
│ auth.service.ts
│ crud.service.ts
│ index.ts
│ local-storage.service.ts
│
私は サービスに サービス/ api.service.tsを移動することを決定した場合、私は、API-サービス/ api.serivce.ts /フォルダ を をエクスポートするすべての論理フォルダコンテナにindex.tsファイルを持っている私は、 index.ts内の参照のみを変更し、このサービスを使用する他のパーツは変更されません。
//core/models/api/index.ts
export { APIResponse } from './api-response.interface';
export { APIResponseList } from './api-response-list.interface';
export { PageSearchParams } from './page-search-params.interface';
-
//core/models/auth/index.ts
export { AuthToken } from './auth-token.interface';
export { TokenType } from './token-type.type';
-
//core/models/index.ts
export { AuthToken, TokenType } from './auth';
export { APIResponseList, APIResponse, PageSearchParams } from './api';
- ここ
//core/index.ts
export { ApiService, CRUDService } from './services';
export { CoreModule } from './core.module';
export { AuthToken, TokenType, APIResponseList, APIResponse, PageSearchParams } from './models';
ため、私は、角コンパイラのexport *
を使用することはできません。 どこでも私は物事を再輸出する必要がありますか?
主なアイデアは、何かをどこかに移行するときに安全であることです。この例では、typescriptバレルを使用していますが、もっと良いアプローチがありますか? アイデア
I'vが質問を更新しました。 {:[ "コア/ *"] "コア/ *"} と複数の場所で 'インポート{ApiService}から使用されている は、我々はtsconfig.jsonに "パス" パスを設定していると言うことができます'コア'; 'core'を' npm'で別のパッケージに移動した後です。この場合、リファレンスを '' core/* ''に変更します:["node_modules/@ projectName/api"] ' またはコアフォルダと' core/index.ts'ファイルの中に ' @ projectName/api'と入力します。 例を挙げてください。 – Varuzhan
前にも述べましたが、フォルダを別の場所に移動すると、マッピング設定の絶対パスを更新するだけで済みます。それだけです。シンプルで、コードを掘り下げることなく、どこを指して変更しているのかを常に知ることができます。それをインデックスと混在させると、構造フォルダを内部で名前を変更したり変更したりしても、絶対パスがメインインデックスを指している場合は、新しいフォルダ名とコード内で変更が必要です。 –