2016-05-16 8 views
2

Ich komme in Angular2. Ich habe ein sehr einfaches Testprojekt erstellt, um zu testen, was ich lerne.Gebäude Angular2 Anwendung

Im Grunde ist dies mein Projekt hier: https://github.com/developer82/ReactJS.vs.Angular2/tree/master/angular2

beginne ich habe es aus einem Beispielprojekt, das ich aus dem Internet heruntergeladen habe. Aber sobald ich npm install laufen lade es eine Reihe von NPM-Pakete und jetzt ist das Verzeichnis etwa 100mb Größe für eine sehr, sehr kleine Anwendung.

Offensichtlich ist das nicht das endgültige Projekt, das man in die Produktion hochladen würde. Ich weiß, dass viele der Pakete nicht benötigt werden und einige zum Ausführen eines Servers, auf dem die App ausgeführt wird.

In ng-conf in diesem Jahr waren sie sehr stolz ankündigen zu können, dass Angular2 45kb ist - kleiner als Angular1. Also meine Frage ist - sagen wir, ich habe meine Angular2 App gebaut - was nun? Wie kompiliere ich alles auf die minimale Größe und nur die benötigten Pakete? Wie fügt sich alles zu einer 45kb-Datei zusammen? Oder mit anderen Worten - ich habe meine App gebaut - was kommt als nächstes, um sie zu veröffentlichen?

EDIT

folgte ich den Anweisungen des angular-cli Werkzeug (https://github.com/angular/angular-cli#installation).

Erstellen eines neuen Projekts erstellt ein Verzeichnis mit der Größe von 150 + MB. Aber nach dem Ausführen ng build -prod produziert es ein Verzeichnis mit der Größe von 1mb - viel viel kleiner und mit Leichtigkeit, aber dort sehe ich, dass Winkel nicht main.js ist, die 675kb groß ist - weit von den 45kb, über die sie in ng-conf sprachen. Und das ohne Berücksichtigung aller anderen js-Bibliotheken, die ebenfalls geladen werden müssen (System, es6-shim, reflect, zone).

Das ist viel zu groß für eine Webanwendung (besonders wenn sie auch für mobile Geräte gedacht ist). Wie können wir es (viel) kleiner machen?

Antwort

0

Ein anderer Ansatz wäre Gulp zu verwenden, um Ihre Anwendung zu kompilieren und zu verpacken.Dazu können Sie die folgenden Plugins:

  • schluck-Typoskript - Typoskript Inhalt in JavaScript
  • schluck-verunstalten kompilieren - minify JavaScript Inhalt
  • schluck-concat - concat Dateien
  • gulp-html-ersetzen - Referenz der neu
Weitere Details

diese Frage Siehe:

und das entsprechende Projekt:

+0

Wie hast du es funktioniert? >> https://github.com/templth/angular2-packaging/issues/3 – dragonmnl

0

Das Bündel noch gzipped werden kann, habe ich SystemJS Builder und ich bekomme von 576KB (not-g gezippt) zu 122KB (gezippt). Vielleicht kann mit Template-Compiler, an dem das eckige Team noch arbeitet, kleiner sein.

+0

ja. Ich warte auf Template-Compiler, der auch unnötige Includes entfernt und Compiler-Code im Framework nicht enthält - wodurch die Anwendung viel kleiner wird. – developer82