Skip to content

Latest commit

 

History

History
77 lines (50 loc) · 5.37 KB

concepts.md

File metadata and controls

77 lines (50 loc) · 5.37 KB

Pojęcia

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

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.

Adaptery Vinyl

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ą zapewnia winyl-fs. Powinny zawsze zwracać strumienie, które produkują i / lub zużywają obiekty Vinyl.

Zadania

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ń.

Globs

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

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.

File system stats

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.

File system modes

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.

Moduły

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() and parallel()
  • 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