gulp

gulp to narzędzie do uruchamiania zadań do budowania projektów JavaScript

gulpdarmowy i otwarty zestaw narzędzi do budowania aplikacji opartych na języku JavaScript. Został stworzony w 2013 roku przez Erica Schoffstalla[2], jako system strumieniowego przetwarzania plików wspomagającego tworzenie aplikacji internetowych.

gulp
Logo gulp
Logo programu
Autor Eric Schoffstall
Pierwsze wydanie 26 września 2013; ponad 10 lat temu[1]
Aktualna wersja stabilna 5.0.0
(29 marca 2024) [±]
Język programowania JavaScript
System operacyjny Wieloplatformowe
Licencja MIT
Strona internetowa

Jest to moduł do uruchamiania zadań oparty na Node.js i npm, wykorzystywany do automatyzacji czasochłonnych i powtarzalnych zadań związanych z tworzeniem stron internetowych, takich jak minifikacja, konkatenacja, pomijanie pamięci podręcznej (cache busting), testowanie jednostkowe, linting, optymalizacja itp[3].

Przegląd edytuj

Biblioteka gulp to narzędzie do budowania w JavaScript zbudowane na strumieniach Node.js. Strumienie te ułatwiają połączenie operacji na plikach za pomocą potoków[4]. Biblioteka czyta dane z systemu plików i przesyła je z jednej wtyczki do drugiej za pośrednictwem funkcji .pipe(). W wyniku wszystkich operacji zazwyczaj tworzone są nowe pliki, ale ostatecznie mogą być też podmieniane oryginały, przy czym dzieje się to dopiero po przetworzeniu wszystkich wtyczek. Daje to możliwość wykonywania złożonych zadań poprzez łączenie wielu wtyczek. Użytkownicy mogą również pisać własne wtyczki, aby zdefiniować własne zadania[5].

W przeciwieństwie do innych podobnych programów gulp nie ma uproszczonego pliku konfiguracyjnego (jak np. Webpack) i do zdefiniowania zadań wymagana jest podstawowa znajomość JavaScript. Daje to jednak możliwość łatwiejszego dostosowania procesu budowania aplikacji do własnych potrzeb[6].

Sposób działania edytuj

Zadania gulp są uruchamiane z wiersza poleceń (CLI) i wymagają dwóch plików.

  • package.json -- używany do instalowania zależności przez npm (w tym wtyczek dla gulp) -- devDependencies.
  • gulpfile.js (lub po prostu gulpfile ) -- główny plik zawierający definicje zadań. Tu ładowane są moduły i zazwyczaj tutaj znajduje się logika wykonania zadań.

Zgodnie z przyjętą konwencją pliki te znajdują się zazwyczaj w głównym folderze kodu źródłowego danego pakietu.

Zadanie domyślne jest uruchamiane przez uruchomienie polecenia gulp w folderze projektu. Poszczególne zadania mogą być zdefiniowane przez gulp.task i są uruchamiane przez polecenie: gulp <task> <othertask>[7][8].

Zobacz też edytuj

Przypisy edytuj

  1. gulp 4.0.2 on npm - Libraries.io [online], libraries.io [dostęp 2020-01-03] (ang.).
  2. Jed Mao i inni, Developing a gulp edge : the streaming build system, Santa Rosa, CA, ISBN 978-1-939902-14-6, OCLC 897388091 [dostęp 2020-01-01].
  3. How To Build And Develop Websites With Gulp [online], Smashing Magazine, 11 czerwca 2014 [dostęp 2020-01-01] (ang.).
  4. James Halliday, Stream handbook. How to write node programs with streams. [online] [dostęp 2020-01-01].
  5. Writing a plugin [online], gulpjs - GitHub [dostęp 2020-01-01].
  6. Eric Grosse, Webpack or Browserify & Gulp: Which Is Better? [online], Toptal Engineering Blog, 11 października 2016 [dostęp 2020-01-01] (ang.).
  7. Getting Started with Gulp.js - Semaphore Tutorial [online], Semaphore, 18 marca 2015 [dostęp 2020-01-01] (ang.).
  8. Quick Start [online], gulpjs.com [dostęp 2020-01-01] (ang.).

Linki zewnętrzne edytuj