18. Oktober 2016

Automatische Ressourcenreduzierung mit Structr

Structr hat gerade eine weitere nützliche, manche würden sagen unverzichtbare, Webentwicklungsfunktion erhalten: Minifizierung.

Wenn Sie die Ressourcen für Ihre Web-Applikation minifizieren wollen, um die Performance zu optimieren, müssen Sie dies nicht mehr manuell tun. Structr unterstützt die Minifizierung von CSS- und JavaScript-Ressourcen. Hierfür können Sie Dateien vom Typ MinifiedCssFile bzw. MinifiedJavaScriptFile anlegen. Im Eigenschaftsdialog dieser Dateien können weitere Dateien ausgewählt werden, die in die minifizierte Datei aufgenommen werden sollen.

Sollte sich eine der Minifizierungsressourcen ändern, werden alle Minifizierungsziele automatisch aktualisiert, um die Änderungen widerzuspiegeln. Das Gleiche gilt für die spezifischen Einstellungen für jeden Typ, wobei eine Änderung des Werts lineBreak die Minifizierung von MinifiedCssFile und eine Änderung von optimizationLevel die Minifizierung von MinifiedJavaScriptFile auslöst. Ein Minifizierungsziel wird auch aktualisiert, wenn eine Datei entfernt oder hinzugefügt oder die Reihenfolge der Dateien geändert wird.

Durch die Integration dieser neuen Funktion nimmt Structr den Nutzern eine weitere Sorge ab. Sie können das Mining-Asset einfach in die Produktionsseiten einbinden und müssen sich nicht mehr um die Aktualisierung ihrer Mining-Assets kümmern oder gar Structr verlassen.

JavaScript-Verkleinerung

Für JavaScript ist in Structr der Google Closure Compiler integriert. Derzeit unterstützt Structr nur die Konfiguration der Optimierungsstufe. Die unterstützten Werte sind WHITESPACE_ONLY, SIMPLE_OPTIMIZATIONS und ADVANCED_OPTIMIZATIONS.

Aus der Dokumentation des Closure-Compilers:

The WHITESPACE_ONLY compilation level removes comments from your code and also removes line breaks, unnecessary spaces, extraneous punctuation (such as parentheses and semicolons), and other whitespace. The output JavaScript is functionally identical to the source JavaScript.

The SIMPLE_OPTIMIZATIONS compilation level [...] also performs optimizations within expressions and functions, including renaming local variables and function parameters to shorter names.

The ADVANCED_OPTIMIZATIONS compilation level [...] adds a variety of more aggressive global transformations to achieve the highest compression of all three levels. The ADVANCED_OPTIMIZATIONS level compresses JavaScript well beyond what is possible with other tools.

Der Eigenschaftsdialog ermöglicht es dem Benutzer, Dateien zu der verkleinerten Datei hinzuzufügen/zu entfernen, die Optimierungsstufe auszuwählen und zeigt auch die Warnungen und Fehler an, die während der Verkleinerung aufgetreten sind. Außerdem kann der Benutzer einen manuellen Minifizierungslauf auslösen.

CSS-Minimierung

Für CSS wird YUICompressor verwendet. Structr unterstützt die lineBreak-Konfigurationsoption, die verwendet werden kann, um eine Regel für die maximale Zeilenlänge zu erzwingen, da einige Versionskontrollwerkzeuge keine sehr langen Zeilen mögen.

Der Dialog verhält sich genauso wie bei den JavaScript-Dateien. Änderungen an den Einstellungen lösen die Minifizierung der Quelldateien aus und der Benutzer kann die Dateiliste hinzufügen/bearbeiten.

Rückmeldung

Haben Sie Kommentare, Rückmeldungen oder Verbesserungen, die Sie gerne in diesem Feature sehen würden? Gibt es Optionen oder Konfigurationsschalter für Closure Compiler, die Structr einfach unterstützen muss? Lass es uns in den Kommentaren unten wissen oder eröffne einen Feature Request im structr Repository auf GitHub

Dieser Artikel wurde geschrieben von

Die neuesten Beiträge von Structr

Zurück zur Übersicht