2017-08-13 6 views
0

Ich habe vor kurzem das CMS-Tool Keystone kennengelernt und ging online mit einigen Beispielen und Tutorials. Die meisten Lernprogramme verwendeten HandleBars für die Ansicht. Ich kenne Angular 2 und möchte Angular für die Ansicht verwenden.Können wir Keystone JS mit Angular kombinieren?

Meine erste Herangehensweise war, ein Keystone JS-Projekt zu erstellen und dann eine Angular 2-Anwendung darin zu erstellen, die angular cli verwendet. Setzen Sie das Build-Ziel für die eckige App auf den öffentlichen Ordner des Keystone JS-Projekts. Aber ich vermisse den Link im Keystone JS, wo ich nach den Angular Build generierten Dateien suchen kann.

Wenn jemand daran gearbeitet hat, lassen Sie mich bitte wissen, wie Sie dieses Problem lösen können.

Antwort

1

Ich würde vorschlagen, Ihre Angular App getrennt von Ihrer Keystone App zu erstellen.

Sie können dann REST-Endpunkte mit Keystone einrichten und sie in Ihrer Angular-App verwenden, um die Daten abzurufen. Anstatt Vorlagen aus Ihren Ansichten (Routen-Controller) zu rendern, können Sie Ihre Daten in der Antwort mit res.send() oder mit der Keystone-Middleware: res.apiResponse() senden.

Wenn Sie wirklich Keystone und Angular im selben Projekt möchten, dann könnten Sie die App in den öffentlichen Ordner erstellen, wie Sie sagen, und dann statt eine Vorlage (Lenker, etc.) von Ihrem root ('/')) route Sie könnten die Datei index.html aus Ihrem öffentlichen Ordner bereitstellen.

Dies könnte jedoch unordentlich werden, so würde ich vorschlagen, die beiden getrennt zu haben.

+0

Ich empfehle diese Antwort. Dies erleichtert die Arbeit mit Ihrem Projekt. Sie können sogar eine andere Website starten und Daten auch dort abrufen. Wenn Sie zwei Websites haben, die Daten aus einem Backend ziehen, wäre es nicht mehr sinnvoll, sie in einem einzigen Projekt zu speichern. Ich denke, der richtige Begriff ist "modularer"? –

Verwandte Themen