JS-Klassen minifizieren & zusammenfassen

  • Hallo,


    gibt es vom WSC bereits irgendwelche Möglichkeiten bestimmte Build-Skripte, um mehrere JS-Dateien zu komprimieren & zusammenzufassen? Wie ist hier die korrekte Vorgehensweise? Aktuell lade ich die meisten eigenen Klassen über


    Code
        require(['Language', 'Ajax', 'foo/CategoryFilter'], function (Language, Ajax, CategoryFilter) {

    jedoch wird dann ja immer die CategoryFilter.js geladen und niemals eine CategoryFilter.min.js, korrekt?

    • Official Post

    Hallo,

    jedoch wird dann ja immer die CategoryFilter.js geladen und niemals eine CategoryFilter.min.js, korrekt?

    korrekt. Das ist aber ein relativ kleines Problem: Nach gzip ist der Unterschied zwischen .min und nicht-.min relativ klein. Das größere Problem ist der zusätzliche HTTP-Request (+ potentiell weitere HTTP-Requests für Abhängigkeiten vom CategoryFilter), denn das sorgt für Latenz.


    Wenn die Module alle von dir kommen, dann kannst du mit dem RequireJS Optimizer bundlen. Welche Module gebundlet werden sollten, solltest du aber „sinnvoll“ entscheiden. Es lohnt sich nicht, für ein nur äußerst selten geladenes Modul bei jedem Seitenaufruf mit dem Traffic „zu bezahlen“. Bei unserem WebAuthn-Plugin setzen wir beispielsweise überhaupt kein Bundling ein. Die Module werden schließlich nur alle Jubeljahre mal und ausschließlich für registrierte Benutzer benötigt. Die Wartezeit ist da „zu verkraften“.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!