Gulp

gulp
Logo gulp
Logo programu
Autor Eric Schoffstall
Pierwsze wydanie 26 września 2013; około 12 lat temu[1]
Aktualna wersja stabilna 5.0.1
(1 czerwca 2025) [±]
Język programowania JavaScript
System operacyjny Wieloplatformowe
Licencja MIT
Strona internetowa

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.

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 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ż

Przypisy

  1. gulp 4.0.2 on npm - Libraries.io [online], libraries.io [dostęp 2020-01-03] (ang.).
  2. Jed Mao, Maximilian Schmitt, Tomasz Stryjewski, Cary Landholt, William Lubelski, 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] [zarchiwizowane z adresu 2014-12-19].
  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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
Kembali kehalaman sebelumnya