Laravel Elixir Setup

Eine der eingebauten Neuerungen von Laravel 5.0 ist Elixir. Damit ist es möglich über ein schlankes API Gulp-Tasks zu definieren. So erhält man eine elegante Möglichkeit verschiedene CSS und Javascript Präprozessoren sowie Testing-Werkzeuge für seine Projekte einzubauen und zu benutzen. Das Setup birgt jedoch einige Fallstricke.

NodeJS und npm

Voraussetzungen für die Entwicklungsumgebung sind NodeJS mit npm (Node Package Manager) und das npm-Package Gulp. NodeJS kann einfach über den Installer auf den Rechner gespielt werden und npm funktioniert Out of the Box.

Wer allerdings ohne Adminrechte auskommen muss, der schnappt sich das Windows Binary (node.exe) und packt diese in einen Ordner seiner Wahl.

Zum Beispiel:

C:\Users\pantox\Apps\node

Nun bearbeitet man die PATH-Umgebungsvariablen des angemeldeten Nutzers und fügt diesen Pfad dazu.

Anschließend besorge man sich den Source Code für den npm. Nun wird neben der node.exe ein der Order: node_modules erstellt und das .zip darin entpackt und in npm umbenannt. Aus dem Unterordner bin kopiert man die beiden Dateien npm und npm.cmd neben die node.exe.

Ob alles Richtig funktioniert kann man einfach in der Konsole mit den Befehlen node -v und npm -v testen.

1502_nodejs

Ist dies von Erfolg gekrönt, sollte abschließend der Package-Manager noch richtig mit der lokalen node.exe verknüpft werden über den Befehl:

npm install npm

Damit sollte auch der nächste Teil reibungslos funktionieren.

Gulp

Mittels Gulp können verschiedene Präprozessoren z.B. für SASS oder auch Minify JS, CSS oder andere nützliche Javascript Aufgaben ausgeführt werden.

Die Installation erfolgt als globales npm-Paket mittels:

npm install -global gulp

Dabei legt npm gleich die notwendige gulp.bat neben der node.exe an und es kann losgegulpt werden. Hierzu wirft man am besten einen Blick in die offizielle Laravel Dokumentation zu Elixr.

Ein Gedanke zu „Laravel Elixir Setup“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.