2017-12-05 19 views
0

Ich versuche, eine Webapp mit Angular 4 für das Front-End zu bauen, wo ich 3 Arten von Benutzern habe. Ich suche Ratschläge, was die besten Praktiken sind, um dies zu erreichen, da ich noch ziemlich neu bin. Ich teile, was ich habe, so weit:Angular 4 Struktur für Multi-User-Webapp

v app 
    v shared 
    v main 
     > app  //this is what u see before login/reg, after that you're redirected to the apropriate view 
     > admin-view 
     admin-component.html 
     admin-component.css 
     admin-component.ts 
     > patient-view 
     > my-profile 
      >edit-profile 
      //they all have html, css and ts 
      >appointments-history 
      >procedures-done 
     > dentist-search 
     > dentist-profile 
     > change-password 
    > models 
    > services 
    > util 
    app-routing-module.ts 
app.module.ts 

Jetzt habe ich nicht alles niedergeschrieben, wie jeder HTML, CSS und ts-Datei, auch die Dienste, Modelle und utils, ich denke, dass sie ziemlich gerade sind nach vorne.

Meine Fragen sind: 1) app-Routing-Modul an der richtigen Stelle, oder es sollte die nächste seine 2) app.module.ts soll ich separates App-Routing-Module für verschachtelte Komponenten wie in Patientenansicht machen > Mein Profil> Profil bearbeiten, oder ist es in Ordnung, sie als Kinder in der App-routing.module.ts aufgeführt zu haben.

Was passiert, wenn ich wiederholende Komponenten, wie z. B. Passwort ändern Komponente, habe ich auch eine Suchkomponente, die für Patienten und Zahnarzt die gleiche ist. Sollte ich diese Komponenten in einen separaten Ordner legen und haben:

und nur erklären sie als Kinder in jeder Komponente Routing? Auch wenn ich etwas total falsch mache, bitte sag es, da ich noch lerne, aber ich möchte den besten Konventionen und Praktiken folgen.

Vielen Dank im Voraus!

Antwort

1

ist app-Routing-Modul an der richtigen Stelle, oder es sollte die nächsten seine

die Winkel-cli Orte der app-routing.module.ts app.module.ts Datei neben dem app.module.ts Datei.

sollte ich separate App-Routing-Module für verschachtelte Komponenten wie in Patientenansicht> mein Profil> Profil bearbeiten, oder ist es in Ordnung, sie als Kinder in der app-routing.module.ts aufgeführt zu haben.

Wenn Sie lazy-loaded modules unterstützen möchten, sollten Sie eine moduleNome -routing.module.ts für jeden faul geladenen Moduls erstellen. Lazy-Laden für eine Anwendung mit benutzerrollenspezifischen Ansichten ist sinnvoll, da Benutzer die Ansichten nicht benötigen, die nicht ihrer Rolle entsprechen. Auch wenn Ihre Anwendung anfängt, groß zu werden (sagen wir mehr als 10 Routen in einem Routing-Modul), könnte es sinnvoll sein, dies in kleinere Lazy-Loaded-Module aufzuteilen, damit Ihre Anwendung nicht zu lange zum Laden braucht.

Wenn Ihre App klein ist und Sie Ladezeiten nicht interessieren, dann würde ich denken, dass Sie in Ordnung sein sollten, alle Ihre Routen in app-routing.module.ts zu haben.

0

Ich empfehle Ihnen, Angular-Cli, die eine gute Ordnerstruktur hat. und so können Befehle zum Erstellen einer neuen App, zum Erstellen eines Moduls, zum Erstellen einer Komponente. Jetzt verwenden viele SPA-Entwickler ng-cli für die Erstellung von Enterprise-Spa-Anwendungen.

zum Beispiel Shahred & Vermögenswerte haben einen einzigen Platz, und für UnitTesting seine Verwendung e2e Rahmen. und CLI hat einen sehr guten Seitenlebenszyklus.

Viel Glück

+0

Danke für die Info und die Antwort! – JJey