Ref Angular offizielle Website Stil Arglist der Dateistruktur:Angular 4 + Redux (oder NGRX/store) Ordner- und Dateistruktur
https://angular.io/docs/ts/latest/guide/style-guide.html#!#04-06
Wenn ich möchte Redux (oder NGRX/store) implementieren wäre es für mein neues Angular 4-Projekt besser, meine Anwendung auf diese Weise zu strukturieren?
project root ├── src/ │ ├── app/ │ │ ├──stores/ │ │ │ ├── heros/ │ │ │ │ ├── heros.actions.ts|reducer|effects|store.ts │ │ │ │ │ │ │ │── ..../ │ │ │ │ ├── ..... │ │ │ │ │ ├── containers/ │ │ │ ├── heros/ │ │ │ │ ├── heros.component.ts|html|css|spec.ts │ │ │ │ │ └── ...... │ │ │ │ │ │ │ │ ├── components/ │ │ │ ├── hero-list/ │ │ │ │ │ ├── hero-list.component.ts|html|css|spec.ts │ │ │ │ │ └── ....... │ │ │ ├── .... I have been using second structure but as my app grows, it was getting difficult to maintain, and then I refactored the structure in this way, the plus point of this structure is, if in future you decide to remove or edit ngrx all you need to do is remove or edit the stores folder. Note: - containers folder hold my smart components - components folder hold my dumb components
Oder folgen NGRX/Store Beispiel (https://github.com/ngrx/example-app), die Anwendung auf diese Weise zu strukturieren?
project root ├── src/ │ ├── app/ │ │ ├── actions/ │ │ │ ├── hero.js │ │ │ ├── hero-list.js │ │ │ └── ...... │ │ ├── reducers/ │ │ │ ├── hero.js │ │ │ ├── hero-list.js │ │ │ └── ...... │ │ ├── components/ │ │ │ ├── heros/ │ │ │ │ ├── hero/ │ │ │ │ │ ├── hero-list.component.ts|html|css|spec.ts │ │ │ │ │ └── ...... │ │ │ │ ├── hero-list/ │ │ │ │ │ ├── hero-list.component.ts|html|css|spec.ts │ │ │ │ │ └── ...... │ │ │ ├── ......
Gibt es noch eine andere bessere Struktur?
Entweder Verwendung app/oder src/als App Stammordner halten .. . (src/app macht keinen Sinn, es sei denn, Sie haben wie src/app2, src/app3, und in diesem Fall ist diese Anwendungen in separate Repos getrennt) –
Ich würde es auf die erste Weise tun, aber es ist nur persönliche p Referenz/Meinung. Daher die enge Abstimmung. – cartant
In Zukunft können Feature-Module ihre eigenen Reduzierstücke hinzufügen. Aus diesem Grund habe ich in jedem Modul ein Verzeichnis für den Speicher '/ app/feature/store' und es enthält' feature.actions.ts', 'feature.reducer.ts' und' feature.selectors.ts' – adharris