2016-12-07 9 views
1

Ich habe eine Angular 1 Web-App im Einsatz, in der alle Ansichten (html) auf der Client-Seite sind. Ich habe REST-APIs am Server-Ende verfügbar gemacht, die meine Angular-Dienste verwenden, um JSON-Antwort zu erhalten, und dann befülle ich dies in meiner Ansicht und rendert es auf UI. Jetzt plane ich, Ansicht am Serverende rendern.Server Side Rendering HTML Vorlage

Ich kann meine Tech-Stack am Client-Ende nicht ändern, aber ich habe die Freiheit des Stapels am Serverende.

Blogs schlagen vor, REACT für Server-Side-Rendering zu verwenden, aber ich bin zweifelhaft, ob wir serverseitige Rendering in REACT und Client in Angular haben können. Welche anderen Alternativen habe ich?

Bitte schlagen Sie mögliche Alternativen vor. Vielen Dank im Voraus

+0

Sie können die gleichen HTML-Vorlagen verwenden und sie mithilfe von 'ejs' mit' express js' rendern. Übertragen Sie den bearbeiteten HTML-Code zum Client und initialisieren Sie die eckige App. So, jetzt hast du zuerst die Ansicht vollständig gerendert..und dann nach dem ersten Laden deiner Anwendung funktioniert der eckige Weg. –

Antwort

0

Wenn Sie Angular2 wurden mit Ihnen eine isomorph Lösung wie https://github.com/angular/universal

Der Ansatz bekommen kann ich hier sehen kann, und dass ich mit Kumpels in der Vergangenheit zu diskutieren haben, ist zu „double“ die Routen auf Ihrem API. Dann sollten Sie eine Route haben, in der Sie eine HTML-Vorlage mit zB Jade rendern und an den Client senden. Mit AngularJS manipulieren Sie dann das Dom wie gewöhnlich und nachfolgende Routenänderungen können vom AngularJS Router gehandhabt werden.

So ist der "Algorithmus" sein sollte:

  1. Fordern Sie URL
  2. API Route behandelt und erzeugen eine kompilierte Ansicht und sendet sie
  3. Jetzt AngularJS die Routen mit seinen Router behandelt und die DOM-Manipulation
  4. Nachfolgende Anforderungen an andere Ansichten müssen denselben Vorgang wiederholen.

Hoffe es hilft!