Poniższe pojęcia są niezbędne do zrozumienia dokumentacji API. Będą się do nich odwoływać w całości, wróć do tej strony, aby uzyskać szczegółowe wyjaśnienia.
Jeśli jesteś tu nowy, zacznij od Poradnik wprowadzający.
Vinyl to obiekt metadanych opisujący plik. Główne właściwości instancji Vinyl to path
i contents
- podstawowe aspekty pliku w systemie plików. Obiekty Vinyl mogą być używane do opisywania plików z wielu źródeł - w lokalnym systemie plików lub dowolnej opcji zdalnego przechowywania.
Chociaż Vinyl zapewnia sposób na opisanie pliku, potrzebny jest sposób na dostęp do tych plików. Każde źródło pliku jest dostępne za pomocą adaptera Vinyl.
Adapter udostępnia:
- Metoda z podpisem
src (globs, [opcje])
i zwraca strumień, który produkuje obiekty Vinyl. - Metoda z podpisem
dest (folder, [opcje])
i zwraca strumień, który zużywa obiekty Vinyl. - Wszelkie dodatkowe metody specyficzne dla ich nośnika wejścia / wyjścia - takie jak metoda
symlink
, którą zapewniawinyl-fs
. Powinny zawsze zwracać strumienie, które produkują i / lub zużywają obiekty Vinyl.
Każde zadanie gulp to asynchroniczna funkcja JavaScript, która albo przyjmuje wywołanie zwrotne z pierwszym błędem, albo zwraca strumień, obietnicę, emiter zdarzeń, proces podrzędny lub observable. Z powodu pewnych ograniczeń platformy zadania synchroniczne nie są obsługiwane.
Aby uzyskać bardziej szczegółowe wyjaśnienie, patrz Tworzenie zadań.
Glob jest ciągiem literałów i / lub symboli wieloznacznych, takich jak *
, **
lub !
, używanych do dopasowania ścieżek plików. Globbing to czynność polegająca na lokalizowaniu plików w systemie plików przy użyciu co najmniej jednego globu.
Jeśli nie masz doświadczenia z globami, zobacz Wyjaśnianie Globs.
Glob base - czasami nazywany globem parent - to segment ścieżki przed znakami specjalnymi w ciągu globu. Jako taka, globalną bazą /src /js/**. Js
jest /src/js/
. Wszystkie ścieżki pasujące do globu mają tę samą bazę globalną - ten segment ścieżki nie może być zmienny.
Instancje Vinyl generowane przez src ()
są konstruowane z ustawieniem glob base jako ich właściwości base
. Po zapisaniu do systemu plików za pomocą dest ()
, base
zostanie usunięte ze ścieżki wyjściowej, aby zachować struktury katalogów.
Aby uzyskać więcej szczegółowych informacji, zobacz glob-parent repository.
Metadane pliku są dostarczane jako instancja węzła fs.Stats
. Jest dostępny jako właściwość stat
w twoich instancjach Vinyl i używany wewnętrznie do ustalenia, czy obiekt Vinyl reprezentuje katalog lub dowiązanie symboliczne. Po zapisaniu w systemie plików uprawnienia i wartości czasu są synchronizowane z właściwością stat
obiektu Vinyl.
Tryby systemu plików określają, jakie uprawnienia istnieją dla pliku. Większość plików i katalogów w twoim systemie plików będzie miała dość permisywny tryb, pozwalający gulpowi na odczyt / zapis / aktualizację plików w twoim imieniu. Domyślnie gulp tworzy pliki z tymi samymi uprawnieniami, co uruchomiony proces, ale możesz skonfigurować tryby za pomocą opcji w src ()
, dest ()
itp. Jeśli masz problemy z uprawnieniami (EPERM), sprawdź tryby plików.
Gulp składa się z wielu małych modułów połączonych ze sobą w celu zapewnienia spójnej pracy. Używając semver w małych modułach, możemy wydać poprawki błędów i funkcje bez publikowania nowych wersji gulp. Często, gdy nie widać postępu w głównym repozytorium, praca jest wykonywana w jednym z tych modułów.
Jeśli masz problemy, sprawdź, czy bieżące moduły zostały zaktualizowane za pomocą polecenia npm update
. Jeśli problem będzie się powtarzał, otwórz problem w indywidualnym repozytorium projektu.
- undertaker - the task registration system
- vinyl - the virtual file objects
- vinyl-fs - a vinyl adapter to your local file system
- glob-watcher - the file watcher
- bach - task orchestration using
series()
andparallel()
- last-run - tracks the last run time of a task
- vinyl-sourcemap - built-in sourcemap support
- gulp-cli - the command line interface for interacting with gulp