2017-06-08 1 views
-1

Ich möchte den Login/Register-Workflow in ein isoliertes Modul trennen. Bis jetzt habe ich das Modul erstellt (ng g module login-module) und ich möchte die Facebook und Google SDKs hinzufügen.Ein Modul in Angular (2+) sollte eine App sein, die mit angular-cli erstellt wurde.

Die Sache ist, das Hauptmodul (AppModule) ist der Verantwortliche für die Abhängigkeiten (package.json) und ich möchte auch die Abhängigkeiten für den Login/Register-Workflow isolieren.

Das bedeutet, dass meine LoginModule sollte eine Angular App selbst sein (erstellt mit ng new login-module)?

Antwort

0

Nein, Module sind eine Art, Elemente, "funktionale Einheiten", miteinander in Beziehung zu setzen. Sie sind keineswegs eine individuelle Anwendung, obwohl eine gute Kapselung es Ihnen ermöglichen könnte, ein Modul in eine unabhängige Anwendung umzuwandeln. Sie könnten viel mehr darüber lesen here

0

In einer normalen Situation wollen Sie nicht zu Anwendungen (d. H. 2 Websites), wo man für Zeug und die andere für die Authentifizierung zuständig ist. Stuff müsste immer noch Anfragen an die Authentifizierung stellen und dann ... warum das trennen?

Auch es gibt verschiedene Dinge, über die Sie sprechen. Sie möchten den Fluss trennen und mit Modul in die richtige Richtung schauen.

Aber dann müssen andere Teile Ihrer Anwendung möglicherweise überprüfen, ob jemand authentifiziert ist und eine Nachricht anzeigt oder bestimmte Dinge nicht zulässt.

Also gehen Sie voran und erstellen Sie das Modul, das die Interaktion mit dem Benutzer (Anmeldeformular, Login-Formular) behandelt. Das ist das Richtige.

Verwenden Sie dann einen Auth-Service, um den aktuellen Status zu behandeln und zu speichern. Und neben Speichern von Token sollte dies auch orchestrieren, welche Methode zu nennen (Google Anmeldung oder FB-Login)

eine Struktur empfohlen von John Papa hier ein: https://angular.io/docs/ts/latest/guide/style-guide.html unter dem Abschnitt Application structure and Angular modules

Verwenden package.json und Import bei der places (der auth-service). Exportieren Sie den auth-service auf ein Core-Modul und importieren Sie dieses Core-Modul in das App-Modul und die Anwendungsmodule, wo Sie die Funktionalitäten dieses einen Core-Moduls benötigen.

Verwandte Themen