2016-06-11 2 views
4

Kürzlich planten wir, unsere bestehende Web-App, die in JMVC eingebaut ist, zu überarbeiten. Und wir entschieden uns für Angular-2.Warum sind mit Angular2 erstellte Apps so schwer?

Und zu testen, was die Größe der Last sein wird, habe ich die folgenden:

ng new test123 
cd test123 
ng build -prod 

und bereitgestellt dist Ordnerinhalt auf Apache und es 1.0MB transferred zeigte.

Meine gesamte JMVC-Anwendung, mit all der Geschäftslogik ist kaum 1,2 MB, wenn in Browser geladen.

Was kann ich tun, um die Angular-2-App nach der Bereitstellung zu verkleinern?

enter image description here

+1

Das Angular-Team arbeitet jetzt daran, die Download-Größe zu reduzieren. – DeborahK

+0

Pro [dieses] (https://scotch.io/bar-talk/the-best-news-from-angulars-ng-conf-2016#angular-2-is-lean-and-fast) dachte ich, dass sie haben hat schon daran gearbeitet. – Gan

+0

Sie arbeiten * noch * daran. ☺ – DeborahK

Antwort

1

sich nach den Kommentaren, arbeiten die NG2-Team auf die Größe des Rahmens zu reduzieren seiner Veröffentlichung nähert.

Davor ist es offensichtlich die wichtigste Sache, den typischen HTTP-Konventionen zur Minimierung der JS-Größe zu folgen, aber ich habe auch festgestellt, dass Webpacks-Optimierungen die Größe des generierten JS erheblich reduzieren.

enter image description here

Das ist 313KB für die gesamte Basis angular2 Code sowie meine ganze app, die Inline-HTML und Styling enthält (Ich bin nicht sicher, was das Ergebnis für ein Hallo Welt Beispiel obwohl sein würde).

Die webpack Plugins Sie sind

webpack.optimize.OccurenceOrderPlugin(true) 
webpack.optimize.UglifyJsPlugin() 
webpack.optimize.DedupePlugin() 

this helps verwenden können!

+0

Danke @Ian Belcher, das war hilfreich. Denkst du, zumindest jetzt sollte ich angle-cli nicht benutzen (wie es systemJs benutzt) und auf webpack gehen und andere Abhängigkeiten wie Jasmin usw. selbst installieren? – Gan

+0

Wie bei jedem Projekt, denke ich, hängt es davon ab, die verschiedenen Variablen abzuwägen und auszuwählen, was für Ihre Situation richtig ist. Webpack hat Unterstützung in der react-Community und während es scheint, dass das Kern-ng2-Team systemjs zurückgibt, scheint das ng2-universal-Team Webpack zu favorisieren. Ich bin kein großer Fan von webpacks Buildpipeline und daher benutze Schluck für die meisten unserer Build-Aufgaben und Webpack nur für die Verkettung aller Vermögenswerte. Leider kann ich das cli-Tool auch nicht kommentieren, da ich es nicht benutzt habe. In diesem frühen Stadium von ng2 denke ich, dass das Richtige ist, zu wählen, was sich für dich richtig anfühlt. –

+0

Ich bin mir ziemlich sicher, dass ng-cli webpack zum bündeln verwendet. nicht systemjs. – azulay7

Verwandte Themen