Einleitung
In Standardvorlagen werden die Stile mit dem CSS-Präprozessor Sass geschrieben. Folglich werden die Stile in .scss. Dateien gespeichert. Leider können die Browser diese nicht lesen, so dass sie in .css-Dateien umkompiliert werden müssen, die sie bereits erkennen können.
Die Minifizierung von Dateien ist eine weitere Möglichkeit, eine Datei zu komprimieren und so ihr Gewicht zu verringern. Durch die Minifizierung kann eine Website schneller ausgeführt werden. Die Minifizierung kann manuell durchgeführt werden, ist aber eine langwierige und ineffiziente Arbeit.
In diesem Artikel erfährst du, wie du Dateien automatisch kompilieren und minifizieren kannst. Während dieser Vorgänge arbeitest du mit lokalen Dateien. Dabei hilft dir das Tool – Liquid Sync.
Konfiguration in Schritten
1. Node.js
Am Anfang musst du Node.js. installieren. Der Installateur ist hier verfügbar. Als Ergebnis erhältst du eine Umgebung für die weitere Arbeit mit Dateien.
2. Folder nodejs
Nachdem du Node.js installiert hast, fügst du in der Vorlagendatei einen speziellen Folder mit dem Namen nodejs hinzu. Dieser Folder enthält alle Dateien, die zur Durchführung der Minifizierung benötigt werden.
3. Gulp
Gulp ist ein Tool, das die automatische Kompilierung und Minifizierung der Dateien für dich übernimmt. Füge in dem neuen Folder (nodejs) die Datei gulpfile.js mit folgendem Inhalt hinzu:
var gulp = require(‘gulp’); var sass = require(‘gulp-sass’); var uglify = require(‘gulp-uglify-es’).default; var rename = require(‘gulp-rename’); var minify = require(‘gulp-minify’); var chokidar = require(‘chokidar’);gulp.task(‘sass’, function() { return gulp.src(‘../scss/**/*.scss’) .pipe(sass()) .pipe(gulp.dest(‘../css’)) });gulp.task(‘watch’, function(){ gulp.watch(‘../scss/**/*.scss’, [‘sass’]); });gulp.task(‘css’, function(){ return gulp.src(‘../scss/**/*.scss’) .pipe(rename({suffix: ‘.min’})) .pipe(sass({outputStyle: ‘compressed’})) .pipe(gulp.dest(‘../css’)) }); gulp.task(‘js’, function(){ gulp.task(‘minify’, [‘js’, ‘css’]); chokidar.watch(‘../js/layout!(*.min).js’).on(‘change’, (path) => { const watchSapphireScssFilesDependencies = { gulp.task(‘watchSapphireRelease’, function() { |
4. NPM
Der letzte Schritt besteht darin, NPMa (Node Package Manager) hinzuzufügen. Für diesen Vorgang benötigst du ein Terminal. Wenn du kein Codebearbeitungsprogramm hast, das ein solches Terminal bereitstellt, ist das kein Problem. Starte einfach das Terminal, das auf deinem System verfügbar ist, wie folgt:
- Öffne den Folder nodejs, drücke und halte linke Shift-taste auf Tastatur und klicke dann mit dem rechten Maustaste in ein beliebiges Feld dieses geöffeneten Folder,
- Es erscheint jetzt eine Liste mit Optionen, in der du auswählst: Hier ein Befehlsfenster öffnen (in Windows 10 heißt diese Option: PowerShell-Fenster hier öffnen),
- Jetzt kannst du NPM in deinem Projekt installieren. Gib einfach den Befehl npm init ein und dann bestätige ihn mit der Schältflache ENTER.
- Während der Installation werden die Felder mit Informationen angezeigt, die ausgefüllt werden können. Es geht dabei u.a. um package name, version, description und eine Frage nach der Richtigkeit der eingegebenen Daten. Diese Informationen müssen nicht ausgefült werden. Du kannst sie mit dem ENTER-Taste überspringen.
- Wenn der Vorgang abgeschlossen ist, gib einen weiteren Befehl ein – vor “save” stehen zwei Bindestriche, keine Leerzeichen! -> npm install – -save-dev gulp@3.9.1 gulp-sass gulp-uglify-es gulp-rename
Der obige Befehl installiert die Plugins, die es ermöglichen, dass die Funktionen aus der Datei gulpfile.js korrekt funktionieren. Der Befehl wird am besten in das Befehlsfenster kopiert. Wenn du ihn jedoch manuell eingibst, beachte, dass vor dem Wort “save” zwei Bindestriche stehen, nicht einer.
Befehle zur Kompilierung und Minifizierung
Wenn du die oben genannten Schritte abgeschlossen hast, kannst du nun mit der Kompilierung und Minifizierung fortfahren. Es gibt mehrere Funktionen, die in der Datei gulpfile.js definiert sind. Im Folgenden findest du eine kurze Beschreibung der Funktionen und wie du sie aufrufst:
- Kompilierung der Dateien .scss do .css:
Der Befehl gulp sass kompiliert die .scss-Dateien in .css.-Dateien um. Dadurch kannst du die Stile in den .scss-Dateien bearbeiten.
- Automatische Kompilierung der Dateien .scss do .css:
Wenn dir der Befehl gulp sass gefallen hast, wirst du ihn noch mehr mögen. Der Befehl gulp watch löst automatisch eine Kompilierung in eine .css-Datei nach jeder Änderung an einer .scss-Datei aus.
- Minifizierung der Dateien .css:
Die resultierenden .css-Dateien können verkleinert werden. Hierfür ist der Befehl gulp css zuständig. Nachdem er ausgeführt wurde, werden alle .scss-Dateien zu .min.css-Dateien rekompiliert. Eine solche Datei ist viel kleiner als eine normale .css-Datei.
- Minifizierung der Dateien .js:
Nicht nur Stildateien können minimiert werden. Es lohnt sich, auch .js-Dateien zu verkleinern. Dies geschieht mit dem Befehl gulp js. Beachte jedoch, dass dieser Befehl Kopien mit “.min” im Namen für alle .js-Dateien (aus dem JS-Folder in deiner Vorlage) erstellt. Das bedeutet, dass, wenn es dort bereits minifizierte Dateien gibt, auch diese kopiert und erneut minifiziert werden (was ein unnötiger Vorgang ist). Wir empfehlen daher, alle Dateien mit der Endung .min.js aus dem JS-Folder zu löschen, bevor du die .js-Dateien minifizierst.
Eine Ausnahme bildet die Datei jquery.mcustomscrollbar.concat.min.js in der Agat-Vorlage, die nicht entfernt werden sollte. In diesem Fall sollte nur ihre Kopie mit dem Suffix .min.min.js entfernt werden.
- Minifizierung der Dateien:
Der letzte Befehl ist gulp minify. Reduziert .css- und .js-Dateien gleichzeitig.