Grunt Tasks laden
Ich bin ja eher einer von der ungeduldigen Sorte. Ich warte ungern und freue mich drüber, wenn ich Prozesse optimieren, automatisieren und beschleunigen kann. Seit dem ich von GruntJS hörte, bin ich Fan. Man kann damit viele nervige und wieder kehrende Sachen automatisieren. Aber wem erzähl ich das..
Nun kommt es vor, dass mit forschreitender Projektdauer das Gruntfile und damit auch die Tasks, die der gute Taskrunner übernimmt, immer mehr werden. Aber man benötigt nicht immer alle Tasks, die auch im Gruntfile definiert sind. Dummerweise weiß das Grunt aber nicht und lädt immer alle Tasks. Das kann auch schon mal seine drei, vier, fünf Sekunden dauern. Wenn nun die Ausführung des eigentlichen Tasks nur den Bruchteil einer Sekunde dauert, ist das vergeudete Zeit.
Es gibt ein Node-Modul, mit dem man diesem Missstand abhelfen kann:
jit-grunt
Bindet man jit-grunt in seinem Gruntfile ein, werden nur noch die Tasks geladen, die auch zum Ausführen benötigt werden. Man mag meinen, dass es keinen sonderlichen Einfluss hat, ob die Auführung nun fünf oder nur zwei Sekunden dauert. Ich als ungeduldiger Mensch kann sagen: Es macht einen Unterschied. Wem es nicht anders geht, kann das Modul ja mal benutzen.
Stolpersteine
Es kann vorkommen, dass man bei der Arbeit mit jit-grunt auf folgende Fehlermeldung stößt:
jit-grunt: Plugin for the "cssmetrics" task not found.
If you have installed the plugin already, please setting the static mapping.
See https://github.com/shootaroo/jit-grunt#static-mappings
Warning: Task "cssmetrics" not found. Use --force to continue.
Diese Meldung kann zwei Herkünfte haben:
- Das Modul ist nicht installiert. Dann genügt in der Regel ein Aufruf von npm install um den Task laufen zu lassen
- Der Task heißt anders als das Modul (grunt-contrib-[name], grunt-[name] oder [name]), dann muss ein statisches Mapping eingebunden werden.
require('jit-grunt')(grunt, {
sprite: 'grunt-spritesmith',
hello: 'custom/say-hello.js' // for custom tasks.
});
Fazit
Das Modul ist für ungeduldige Menschen eine große Hilfe und kann zur Produktivitätssteigerung beitragen. Durch die wiederholte Ausführung der Tasks dürfte sich die Einrichtungszeit auch bald rentiert haben.