Ostatnio pisałem o systemie automatyzacji pracy grunt. Tak jak wspomniałem ma on swoje wady i zalety. Na szczęście nie jest to jedyna opcja jaka jest dostępna dla światka JavaScript.
Konkurencją dla grunt jest gulp.js (niektórzy nawet mówią, że grunt jest pase a gulp trendi) – narzędzie, które działa na zasadzie code-over-configuration z prostym API (to tutaj IMO jest najważniejsze – wystarczy porównać dwa skrypty robiące to samo w grunt i w gulp by zobaczyć, że gulp jest znacznie bardziej przejrzysty, przynajmniej dla mnie). Do tego, taski w gulp są przeznaczone do wykonywania jednej czynności, a nie jeden task do wszystkiego i niczego (np.: grunt-contrib-uglify) :)
Instalacja Gulp.js jest prosta, najpierw instalujemy command line interface (CLI):
npm install -g gulp
Da nam to dostęp do komendy gulp
(podobnie zresztą jak w przypadku grunt
). Jednak mimo, że mamy gulp zainstalowanego globalnie to też musimy go zainstalować lokalnie – w przeciwnym wypadku dostaniemy błąd z informacją, że lokalnie też musi być :)
npm install gulp --save-dev
Teraz by móc z gulp skorzystać musimy stworzyć plik konfiguracyjny gulpfile.js
– podobnie jak w przypadku grunt, należy go umieścić w katalogu głównym naszego projektu.
Niestety, na razie nie ma możliwości tworzenia tego pliku automatycznie, a request by taka możliwość istniała, został zamknięty.
A więc:
touch gulpfile.js notepad gulpfile.js
I wklejami następujący kod:
var gulp = require('gulp'); // define tasks here gulp.task('default', function() { // run tasks here // set up watch handlers here });
Teraz, mając taki plik gotowy będziemy mogli rozpocząć zabawę ale o tym, w następnej części :)
A wy korzystaliście już z gulpa? Bawiliście się także gruntem? Jakie są wasze spostrzeżenia? Co wolicie? Co wam się podoba a co nie?