Wie zu kombinieren, play framework und angular2?
Meine Frage ist, wie organisieren Sie die Vorder-und Rückseite zusammen in dem Projekt.
Soweit ich weiß, gibt es zwei Möglichkeiten, das zu tun, so was
- Gruppe der Vorder-und Rückseite in einem Projekt mit Hilfe von web-Gläser Abhängigkeiten und sbt-plugins. So sbt wird, führen Sie alle notwendigen Operationen wie
uglify
,concat
,compilation
(typescript
zujavascript
)... - Trennen Sie die Vorder-und die Rückseite, und stellen Sie Sie separat. In diesem Fall das back-end müssen fügen Sie die Kopfzeile
Access-Control-Allow-Origin
. Auf diese Weise die Vorder-und Rückseite bereitgestellt werden kann, wird in 2 unterschiedlichen Rechnern. Und das Werkzeug verwendet wird npm und gulp/grunt - Mischung aus 1 und 2. Immer noch die gleichen repository für die Vorder-und die Rückseite, sondern die Vorderseite bauen und generiert durch externe tools wie npm, bower und gulp/grunt
Für den moment, es gibt nicht viele docs für option 2 und 3. Auch die typescript
plugin ist noch nicht fertig.
Welcher Weg ist besser für scala spielen + angular2 Entwicklung ?
- Mein Gewinner ist keine. 1 - so dass Sie minifizieren Voraussetzung für die Spezialisten aus anderen frameworks, auch wenn Sie arbeiten wollen, in multi-domain-stack und/oder separate apps, die Sie verwenden können, einige Lösungen wie einige Licht-HTTP-server, die für reverse proxying/multidomains/load balancing... Deine Frage ist Meinung, so ist meine Antwort kann nur Meinung nach 🙂
- Danke, aber kennst du einige Tutorials zu tun, die mit Winkel 2 und Typoskript. Ich sah einige Projekt auf github, aber das scheint unreif zu dieser Zeit
- Wie @biesior erwähnt, es ist rechthaberisch, ich bin dafür, ich mag es nicht, es aufgeteilt in 2 apps, ich hasse grunt/gulp-Konfiguration für den proxy-Einstellungen. Spielen, Griffen alle, die jazz, es gibt auch den Vorteil, dass Sie nicht haben, um zu konfigurieren, CORS-Einstellungen. Was ich auch gemacht habe: ich glaube nicht, verwenden webjars aber bower/npm, Sie befinden sich im /public-Ordner. Ich definiere einen Einstiegspunkt für eckige, zum Beispiel: '/welcome' von dort aus auf eckige übernimmt das routing. Vielleicht möchten Sie sich in diesem question
- Hast du irgendein Beispiel, das kombinieren scala playframework und angular2 mit Typoskript. Ich habe ein Beispiel hier github.com/lashford/modern-web-template#master, aber es ist coffeescript!
- siehe github.com/sbahmani/Play-Angul2
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe die Arbeit mit mehreren Winkel-und Winkel-2-apps vor kurzem ein und befasste sich mit einem ähnlichen problem. Für alle die Szenarien, die backend-und frontend-Applikationen waren getrennt in Bezug auf code und kommuniziert nur über REST-Schnittstellen. Trotzdem, wir liefern - frontend-und backend-Teil, und es fühlte sich natürlich an, verwenden Sie einen hosting-server, die für beide (werden könnte, Play Framework oder Tomcat).
Option #1
Am Anfang entschieden wir uns für diese ein. Webjars Blick wie ein Wunder und mehrere
sbt
odermaven
plugins können Ihnen helfen, mit der minifizierung, Kompilierung, linting etc. von Ihrem frontend-Projekt. Das könnte gut gehen für einige. Leider habe ich festgestellt das workflow-unnatürlich. Einige plugins fehlen oder Ihre Konfiguration war schwierig. Webjars sind nicht immer up-to-date, einige von Ihnen sind automatisch verfügbar, andere nicht... usw. In einem einfachen Projekt könnte es funktionieren, aber für mich war es nicht genug.Option #2
Wir haben versucht, getrennte Server für Entwicklung, aber wir beenden schnell. Für die meisten Aktionen, die Sie noch brauchen, Ihr beiden - frontend-und backend-server. So haben Sie zu Beginn beide. Es heißt, Sie haben 2x mehr Befehle oder Abläufe zu erinnern und lehren. Die CORS ist nicht ein großes Problem, aber vielleicht sollten Sie ihn deaktivieren, die für die Produktion, das bedeutet, dass zusätzliche Arbeit in das Projekt. Entwicklung von backend-oder frontend getrennt wurde dadurch schneller, aber meiner Meinung nach, wenn Sie zu liefern haben, sowohl Ihre Entwicklungs-Prozess sollte Ihnen helfen, es.
Option #3
Das ist die, die wir verwenden. Mit sbt ist es möglich und bequem.
SbtWeb
- plugin ermöglicht Ihnen das festlegenplayRunHooks
zu was auch immer Aktionen, die Sie ausführen möchten mit Ihrem Projekt. Die Idee ist zum ausführen einer JavaScript-build-Tools, die nicht alle erforderlichen, frontend jobs, fe:RunSubProcess finden hier.
So schneiden die lange Geschichte kurz zu, lassen Sie das Spiel-Server zu dienen, die statische Inhalte, aber ignorieren Sie Ihre änderungen. Diese wird betreut von
npm
,gulp
,webpack
,grunt
- was auch immer Sie wählen. Es gibt viele JavaScript-build-tools, plugins und templates, um Ihnen zu helfen. Sie brauchen keinesbt
plugins, einfach die JavaScript-Welt, um seine Arbeit zu tun. Es könnte schwierig sein auf den ersten, aber zahlt sich schnell aus.Als ein Beispiel-Projekt, das Sie möchten möglicherweise überprüfen Sie heraus-Aktivator Vorlage Play Framework mit Winkel 2 und Webpack 2 und es ist Projekt befindet sich auf GitHub: spielen-ng2-webpack2. Es half mir ein bisschen.
Ist es jetzt auch möglich, Tomcat verwenden, die mit xsbt-web-plugin und developmentMode. Die Philosophie ist ähnlich.
Hoffe, du findest deinen Weg :).