Wie setzen Sie Angular-Apps ein?
Wie stellen Sie Winkel-apps nach erreichen der Produktionsphase?
Alle guides die ich bisher gesehen habe (auch auf eckig.io) zählen auf eine lite-server für die Zustellung und browserSync, um änderungen, aber wenn Sie fertig mit der Entwicklung, wie können Sie veröffentlichen die app?
Importiere ich alle kompilierten .js
Dateien auf der index.html
Seite oder muss ich verkleinern Sie Sie mit gulp? Wird Sie funktionieren? Brauche ich SystemJS an alle in der Produktion version?
InformationsquelleAutor der Frage Joseph Assem Sobhy | 2016-02-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie eigentlich hier berühren sich zwei Fragen in einer. Erste ist, wie das hosten Ihrer Anwendung. Und wie @toskv erwähnt, es ist wirklich zu breit zu beantwortende Frage und hängt von vielen verschiedenen Dingen. Zweite ist genauer - wie bereiten Sie das deployment-version der Anwendung. Sie haben mehrere Möglichkeiten hier:
Ja, werden Sie wahrscheinlich benötigen, um die Bereitstellung systemjs und eine Reihe von anderen externen Bibliotheken als Teil des Pakets. Und ja, Sie werden in der Lage sein, zu bündeln und Sie in nur ein paar js-Dateien verweisen Sie aus der html-Seite. Sie haben keinen Bezug alle Ihre kompiliert js-Dateien von der Seite, obwohl - systemjs als Modul loader wird sich darum kümmern.
Ich weiß, es klingt matschig - um Ihnen helfen, sich mit der #2 hier sind zwei wirklich gute Beispiel-Anwendungen:
SystemJS-generator: angular2 Samen
WebPack: angular2 webpack starter
Aussehen, wie Sie es tun - und ich hoffe, dies wird Ihnen helfen, Ihren Weg zu finden, die Bündelung apps, die Sie stellen.
InformationsquelleAutor der Antwort Amid
Einfache Antwort. Verwenden Sie die Winkel-CLI und Ausgabe der
Befehl im root-Verzeichnis des Projekts. Die Website wird erstellt werden, in das dist-Verzeichnis und Sie können die Bereitstellung für jede web-server.
Diese baut für den test, wenn Sie Produktions-Einstellungen in Ihrer app, die Sie verwenden sollten
Diese bauen das Projekt in der
dist
- Verzeichnis und dieser kann auf den server übertragen.Ist viel passiert seit ich das erste gepostet diese Antwort. Die CLI ist schließlich 1.0.0 also nach dieser Anleitung gehen, aktualisieren Sie Ihr Projekt sollte passieren, bevor Sie versuchen zu bauen. https://github.com/angular/angular-cli/wiki/stories-rc-update
InformationsquelleAutor der Antwort Nate Bunney
Mit den Eckigen CLI-es ist einfach. Ein Beispiel für Heroku:
Erstellen einer Heroku-account und installieren Sie die CLI
Bewegen Sie den
angular-cli
dep auf diedependencies
impackage.json
(so, dass es installiert wird, wenn Sie drücken Sie auf Heroku.Hinzufügen
postinstall
Skript, das ausgeführt wirdng build
wenn der code gedrängt auf Heroku. Auch fügen Sie einen start-Befehl für einen Node-server, der erzeugt wird in dem folgenden Schritt Fort. Dadurch werden die statischen Dateien für die app auf einedist
Verzeichnis auf dem server, und starten Sie die app anschließend.Hier ist eine schnelle writeup ich habe, dass hat weitere Einzelheiten, einschließlich der Frage, wie force-Anfragen an HTTPS verwenden und zu behandeln, wie
PathLocationStrategy
🙂InformationsquelleAutor der Antwort cienki
Hoffentlich helfen können, und hoffentlich werde ich bekommen, um zu versuchen, diese während der Woche.
https://www.npmjs.com/package/azure-deploy mit dem Website-Profil.
InformationsquelleAutor der Antwort user6402762
Um die Bereitstellung Ihrer Angular2 app zu einem Produktions-server, in Erster Linie, sicherzustellen, dass Ihre app wird lokal auf Ihrem Rechner.
Angular2 app kann auch eingesetzt werden als Knoten app.
So erstellen Sie einen Knoten entry-point-Datei server.js/app.js (mein Beispiel verwendet express)
Hinzufügen express als Abhängigkeit in deinem Paket.json-Datei.
Dann installieren Sie es auf Ihrer bevorzugten Umgebung.
Ich haben zusammen einen kleinen blog für die Bereitstellung auf IIS. Folgen Sie link
InformationsquelleAutor der Antwort Oduwole Oluwasegun
Erhalten Sie die kleinste und Schnellste be-Produktions-bundle, durch kompilieren mit der Ahead of Time compiler, und Baum-schütteln/verkleinern mit rollup, wie gezeigt, in eckigen AOT Kochbuch hier: https://angular.io/docs/ts/latest/cookbook/aot-compiler.html
Dies ist auch mit dem Winkel-CLI, wie gesagt, in den vorherigen Antworten, aber wenn Sie nicht gemacht haben, Ihre app über die Befehlszeilenschnittstelle Sie sollten die Schritte Kochbuch.
Ich habe auch ein Beispiel arbeiten mit Materialien und SVG-Grafiken (unterstützt durch Angular2) , es beinhaltet ein bundle erstellt, mit der AOT-Kochbuch. Finden Sie auch alle config und scripts die benötigt wird, um das bundle. Check it out hier: https://github.com/fintechneo/angular2-templates/
Ich machte ein kurzes video demonstriert den Unterschied zwischen der Anzahl der Dateien und die Größe der AoT-kompilierten build vs eine Entwicklungsumgebung. Es zeigt das Projekt aus dem github-repository vor. Sie können es hier sehen: https://youtu.be/ZoZDCgQwnmQ
InformationsquelleAutor der Antwort Peter Salomonsen
Zum Bereitstellen Ihrer Anwendung in IIS befolgen Sie die unten aufgeführten Schritte.
Schritt 1: Erstellen Sie Ihre Winkel-Anwendung mit dem Befehl ng build --prod
Schritt 2: Nach dem build alle Dateien gespeichert sind, im dist-Ordner der Anwendung Weg.
Schritt 3: Erstellen Sie einen Ordner in C:\inetpub\wwwroot mit Namen QRCode.
Schritt 4: Kopieren Sie den Inhalt des dist Ordner zu C:\inetpub\wwwroot\QRCode Ordner.
Schritt 5: Öffnen Sie den IIS-Manager mithilfe des Befehls " (Fenster + R) und geben inetmgr klicken Sie auf OK.
Schritt 6: Rechte Maustaste auf Default Web Site und klicken Sie auf Anwendung Hinzufügen.
Schritt 7: Eingabe der Alias-Namen 'QRCode' und legen Sie den physischen Pfad zu C:\inetpub\wwwroot\QRCode.
Schritt 8: Öffnen Sie index.html - Datei und suchen Sie die Zeile href="\" und entfernen '\'.
Schritt 9: Nun durchsuchen-Anwendung in jedem browser.
Außerdem können Sie das video zum besseren Verständnis.
Video-url: https://youtu.be/F8EI-8XUNZc
InformationsquelleAutor der Antwort Avadhesh Maurya
Bereitstellen von Winkel-2 in azure ist einfach
Laufen ng build --prod , um ein dist-Ordner mit alles gebündelt innerhalb paar Dateien, einschließlich index.html.
Erstellen einer Ressourcen-Gruppe und eine web-app drin.
Platzieren Sie Ihre dist-Ordner-Dateien mithilfe von FTP. In azure wird es Aussehen für index.html zum ausführen der Anwendung.
Das ist es. Ihre app ausgeführt wird !
InformationsquelleAutor der Antwort Malatesh Patil
Mit Winkel-CLIkönnen Sie folgenden Befehl verwenden:
Erzeugt es einen dist Ordner mit allem was Sie brauchen, um die Anwendung bereitstellen.
Wenn du keine Praxis mit web-Servern, empfehle ich Ihnen,Winkel-Cloud. Sie müssen nur komprimieren den dist-Ordner als zip-Datei und laden Sie Sie in die Plattform.
InformationsquelleAutor der Antwort Bruno Oliveira
Eckig 2-Implementierung im Github-Seiten
Prüfung Bereitstellung von Angular2 Webpack in ghpages
Erste erhalten Sie alle relevanten Dateien aus dem
dist
Ordner der Anwendung, für mich war es das :+ css-Dateien im Ordner "assets"
+ main.bundle.js
+ polyfills.bundle.js
+ vendor.bundle.js
Dann drücken Sie diese Dateien in das repo, das du geschaffen hast.
1-Wenn Sie möchten, dass die Anwendung der run auf die root-directory - erstellen einer speziellen repo mit dem Namen [yourgithubusername].github.io und schieben Sie diese Dateien in den master-branch
2-Wo, wie, wenn Sie wollen, erstellen Sie diese Seite, in die sub-Verzeichnis oder in einen anderen Zweig andere als die Wurzel, erstellen Sie einen Zweig gh-Seiten und schieben Sie diese Dateien in diesem Zweig.
In beiden Fällen ist die Art, wie wir Zugang zu diesen Seiten bereitgestellt wird anders sein.
Für den Ersten Fall wird es https://[yourgithubusername].github.io und für den zweiten Fall ist es [yourgithubusername].github.io/[Repo-name].
Angenommen, wenn Sie bereitstellen möchten es mit dem zweiten Fall stellen Sie sicher, dass die Basis-url ändern von index.html Datei im dist als alle die route mappings hängt von der Pfad, den Sie geben, und es sollte festgelegt werden [/branchname].
Link zu dieser Seite
https://rahulrsingh09.github.io/Deployment
Git Repo
https://github.com/rahulrsingh09/Deployment
InformationsquelleAutor der Antwort Rahul Singh
Ich mit für immer:
ng build --prod --output-path ./dist
Erstellen server.js - Datei in Ihrem Winkel Anwendung Pfad:
Starten immer
forever start server.js
Das ist alles! Ihre Anwendung sollte ausgeführt werden!
InformationsquelleAutor der Antwort Yakir Tsuberi
Wenn Sie die test-app gefällt mir auf localhost oder haben Sie einige Probleme mit leere weiße Seite ich dieses verwenden:
Erklärung:
Bauen app, aber es gibt viele Leerzeichen, tabs und andere Sachen. Für server ist es nicht wichtig, wie der code aussieht. Dies ist der Grund, warum ich verwenden:
Diese machen den code für die Produktion und reduzieren Größe [
--build-optimizer
] erlauben, mehr code].Also am Ende füge ich
--base-href="http://127.0.0.1/my-app/"
zu zeigen Anwendung, wo ist 'main-frame' [in einfachen Worten]. Mit ihm können Sie auch mehrere Winkel-apps in jedem Ordner.InformationsquelleAutor der Antwort Michał Wojtanis
Für eine schnelle und günstige Möglichkeit zum hosten eines Winkel-app, ich habe mit dem Firbase hosting. Es ist kostenlos auf der ersten Ebene, und eine sehr einfache Bereitstellung neuer Versionen mit dem FB-CLI. Dieser Artikel hier beschreibt die erforderlichen Schritte zum bereitstellen Ihrer Produktion eckig 2-app auf FB: https://medium.com/codingthesmartway-com-blog/hosting-angular-2-applications-on-firebase-f194688c978d
Kurz gesagt, Sie führen
ng build --prod
schafft ein dist-Ordner im Paket-und das ist der Ordner, wird bereitgestellt, um FB-Hosting.InformationsquelleAutor der Antwort npesa92
Ab 2017 der beste Weg ist die Verwendung Winkel-cli (v1.4.4) für Ihren Winkel-Projekt.
Brauchen Sie nicht hinzufügen --aot explizit als seine standardmäßig aktiviert, mit --prod.Und die Verwendung von --output-hashing ist wie pro Ihre persönlichen Vorlieben in Bezug auf cache platzen.
Könnten Sie explizit hinzufügen CDN Unterstützung durch hinzufügen :
wenn Sie planen, CDN für das hosting, die ist deutlich schneller.
InformationsquelleAutor der Antwort Kay
Ich würde sagen, eine Menge von Menschen, die mit Web-Erfahrung vor eckig, werden verwendet, um die Bereitstellung Ihrer web-Artefakten im inneren eines Krieges (z.B. jquery und html innerhalb einer Java/Spring-Projekt). Ich endete damit, diesen zu umgehen, CORS-Problem, nach dem Versuch, um meine Winkel-und REST-Projekten zu trennen.
Meine Lösung ist, verschieben Sie alle eckig (4) Inhalt, erzeugt mit CLI, von my-app MyJavaApplication/Winkel. Dann habe ich das ausgearbeitete mein Maven-build zu verwenden maven-resources-plugin zum verschieben der Inhalte von /eckig/dist, um die Ursache meiner Verteilung (d.h. $ - Projekt.bauen.directory}/MyJavaApplication). Winkel-Belastungen-Ressourcen von der Wurzel des Krieges standardmäßig.
Als ich begann, hinzufügen von routing auf meiner Winkel-Projekt, habe ich weiter modifiziert maven-build zu kopieren index.html aus /dist, um WEB-INF/app. Und, fügte ein Java-controller leitet alle server-Seite-rest-calls auf den index.
InformationsquelleAutor der Antwort Wallace Howery
Wenn Sie bei der Bereitstellung Ihrer Anwendung in Apache (Linux-server), so können Sie Folgen Sie folgenden Schritten :
Folgen folgenden Schritte :
Schritt 1:
ng build --prod --env=prod
Schritt 2. (Kopie dist-in-server)
dann dist-Ordner angelegt haben, kopieren dist-Ordner und installieren Sie es in das root-Verzeichnis des Servers.
Schritt 3. Erstellt
.htaccess
- Datei im root-Ordner und fügen Sie diesen in die.htaccess
InformationsquelleAutor der Antwort Sumit Jaiswal
Folgen Sie einfach dem unten stehenden link,
Ändern Sie Ihre Index.html Seite-Skript-Datei-Pfade
Ändern Sie Ihre component.html Pfad incase Ihr immer Fehler konnte nicht finden, den Ort
https://angular.io/docs/ts/latest/guide/deployment.html#!#dev bereitstellen
InformationsquelleAutor der Antwort Muhamed Shafeeq