Gulp
Logo programu | |
Autor | Eric Schoffstall |
---|---|
Pierwsze wydanie | 26 września 2013; ponad 11 lat temu[1] |
Aktualna wersja stabilna | 5.0.0 (29 marca 2024) [±] |
Język programowania | JavaScript |
System operacyjny | Wieloplatformowe |
Licencja | MIT |
Strona internetowa |
gulp – darmowy 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.
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
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
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 prostugulpfile
) -- 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ż
- Grunt (oprogramowanie).
- Webpack.
Przypisy
- ↑ gulp 4.0.2 on npm - Libraries.io [online], libraries.io [dostęp 2020-01-03] (ang.).
- ↑ JedJ. Mao JedJ. 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] .
- ↑ How To Build And Develop Websites With Gulp [online], Smashing Magazine, 11 czerwca 2014 [dostęp 2020-01-01] (ang.).
- ↑ JamesJ. Halliday JamesJ., Stream handbook. How to write node programs with streams. [online] [dostęp 2020-01-01] [zarchiwizowane z adresu 2014-12-19] .
- ↑ Writing a plugin [online], gulpjs - GitHub [dostęp 2020-01-01] .
- ↑ EricE. Grosse EricE., Webpack or Browserify & Gulp: Which Is Better? [online], Toptal Engineering Blog, 11 października 2016 [dostęp 2020-01-01] (ang.).
- ↑ Getting Started with Gulp.js - Semaphore Tutorial [online], Semaphore, 18 marca 2015 [dostęp 2020-01-01] (ang.).
- ↑ Quick Start [online], gulpjs.com [dostęp 2020-01-01] (ang.).
Linki zewnętrzne
- Oficjalna witryna.
- gulp na Github.