Spisie treści
CoffeeScript to język, który pozwala nam pisać lepszy kod JavaScript, to ujednolicając go i umieszczając w tej samej strukturze, gdzie będziemy mieli pewność, że kod JavaScript tworzony przez CoffeeScript przez innego programistę będzie identyczny z naszym.Ale to nie wszystko, co oferuje CoffeeScript, dodatkowo posiada narzędzie o nazwie Ciasto, podobnie jak Grunt, który pozwala nam zdefiniować proste zadania, które pomogą nam w naszych projektach, ponieważ możliwe jest, że potrzebujemy zadania do uruchomienia testów lub po prostu jednego do zbudowania naszych plików i możemy to wszystko zrobić za pomocą Ciasto poprzez plik o nazwie Plik ciastek.
WymaganiaAby ukończyć ten samouczek, musimy mieć funkcjonalną instalację CoffeeScript, potrzebujemy również uprawnień do zapisywania plików i wykonywania CoffeeScript na komputerze, na którym robimy samouczek. Potrzebujemy edytora tekstu, takiego jak Wzniosły tekst aby móc napisać kod naszych przykładów i nigdy nie zaszkodzi spojrzeć na poprzednie tutoriale języka.
Przed rozpoczęciem należy wspomnieć, że nie musimy instalować Ciasto, w momencie naszej pierwszej instalacji CoffeeScript narzędzie jest instalowane w ten sam sposób, więc nie musimy nic więcej robić, aby rozpocząć z nim pracę.
Wiedząc o tym możemy zacząć pracować Ciasto, ale musimy zrozumieć, że wszystkie tworzone przez nas zadania muszą znajdować się w pliku o nazwie Plik ciastek, który od tego czasu musi mieć dokładnie taką samą nazwę ciastko będzie to zupełnie inny plik i nie zostanie rozpoznany przez kompilator.
Ten plik musi znajdować się w katalogu głównym naszego projektu i niezwykle ważne jest, aby jego zawartość była jedynie kodem CoffeeScript. Po wyjaśnieniu tego, zobaczmy, jak stworzyć nasze pierwsze zadanie z Ciasto.
Stworzymy folder o nazwie ciasteczko_przykład i tam utworzymy plik o nazwie Ciastofile.kawa i będzie zawierać następującą treść:
zadanie „pozdrowienia”, „Przywitajmy się ze wspaniałą społecznością Solvetic”, -> console.log „Witaj świecie!”Przed wyjaśnieniem naszego kodu zamierzamy go skompilować i zobaczyć zawartość wygenerowaną w JavaScript, nie jest to konieczne, ponieważ nigdy nie zobaczymy tego kodu, ale tym razem możemy go użyć, aby lepiej zrozumieć, co robi CoffeeScript, zobaczmy wynik:
POWIĘKSZAĆ
Ponieważ jesteśmy w kontekście, możemy wyjaśnić nasz kod, najpierw definiujemy zadanie za pomocą funkcji zadanie który jest automatycznie dodawany do każdego pliku Plik ciastek. Pierwszym argumentem funkcji jest nazwa zadania, w tym przypadku jest to Powitanie i użyjemy go w konsoli poleceń do wykonania zadania, drugi argument może być opcjonalny i jest opisem zadania, który pojawi się na liście naszych dostępnych zadań. Ostatni argument, który wysyłamy w funkcji zadanie jest to kolejna funkcja, która będzie wykonywana przez zadanie i to tam zostanie zdeponowana większość naszej logiki.Poprzedni przykład miał na celu sprawdzenie, co robi kompilator, ale nasz plik Plik ciastek nie może mieć żadnego rozszerzenia. Dodatkowo możemy zobaczyć jakie zadania mamy dostępne za pomocą polecenia ciasto W konsoli poleceń zobaczmy, jak to wygląda:
Jak widzimy widzimy nazwę naszego zadania oraz opis. Teraz do wykonania konkretnego zadania używamy polecenia cake, a następnie nazwy zadania, aby zakończyć zobaczmy wyjście z konsoli:
Wiemy już, jak utworzyć zadanie i je uruchomić, ale co, jeśli chcemy przekazać do niego jakieś argumenty? Na przykład, co jeśli chcemy, aby nasze powitanie było całkowicie spersonalizowane zgodnie z wartością, którą wysyłamy? Zobaczmy, że to całkiem proste.
Pierwszą rzeczą jaką musimy zrobić w naszym zadaniu jest zdefiniowanie opcji, robimy to za pomocą funkcji opcja do dyspozycji Ciasto. Ta funkcja przyjmuje trzy argumenty, pierwszy to krótka forma opcji, drugi to długa forma, a ostatni to opis tego, co robi opcja, coś ważnego, jeśli rozwijamy się zespołowo i chcemy dokumentować nasze zadania. Następnie dokonamy modyfikacji naszego zadania, aby zdefiniować opcję:
opcja '-n', '--name [IMIĘ]', 'imię do powitania' zadanie "pozdrowienie", "Przywitamy się z kimś", (opcje) -> wiadomość = "Cześć", jeśli options.name? message + = options.name else message + = "World" console.log messageJak widzimy przed definicją zadanie mamy swoją funkcję opcja, po której następuje krótka forma -n, potem mamy długą formę -name określającą, że będzie oczekiwał wartości i wreszcie opisu. Wykonamy polecenie cake i zobaczymy wynik w naszej konsoli:
Jak widzimy, mamy nazwę naszego zadania, opis, a pod nim mamy dostępne dla niego opcje, krótkie i długie opcje oraz opis. Uruchommy nasze zadanie z opcją short i zobaczmy wyjście z konsoli:
Aby wykonać zadanie z opcjami ważne jest, abyśmy najpierw określili argumenty, a następnie nazwę zadania, ponieważ jeśli nie natkniemy się na błąd to niewiele mówi o tym, co może się dziać z naszym plikiem Cakefile, to zobaczmy jak wykonanie korzysta z drugiej opcji:
Tutaj dzieje się coś dziwnego i jest to, że przed wykonaniem zadania używamy opcji z pojedynczym skryptem, co daje nam błąd i jest to słuszne, ponieważ w naszym zadaniu zdefiniowaliśmy opcję jako --- name zamiast -nazwa, wykazując w ten sposób skuteczność CoffeeScript do obsługi zadań.
Dodatkowo możemy zdefiniować czy opcja jest wymagana i robimy to w definicji zadania sprawdzającego czy wartość istnieje i jeśli nie wyrzucimy błędu zobaczmy jak wygląda ten kod:
opcja '-n', '--name [NAME]', 'imię, które chcesz pozdrowić' zadanie "powitanie", "Sprawdź, czy opcja istnieje", (opcje) -> wyrzuć nowy błąd ("[NAME] jest wartość wymagana "), chyba że options.name? console.log "Witam, # {opcje.nazwa}"Uruchommy więc nasze zadanie, ale tym razem ignorując opcję jako argument i zobaczmy odpowiedź z konsoli:
Jak widać, został wyświetlony błąd, który zawarliśmy w pliku, dzięki czemu możemy sprawdzić, czy opcje naszych zadań są przekazywane jako argumenty, gdy jest to konieczne.
Wiedząc już, jak tworzyć nasze zadania i definiować dla nich opcje, ważne jest, aby zobaczyć, jak możemy wykonywać zadania, które znajdują się u innych. Na przykład możemy mieć dwa wspólne zadania w projekcie, w którym jedno z zadań jest odpowiedzialne za czyszczenie katalogów, które zbudowaliśmy dla projektu, a drugie odpowiada za kompilację i budowanie, zobaczmy, jak te dwa zadania, które właśnie skończyliśmy wyglądać jak. opisz:
zadanie "clean", "To zadanie wykonuje czyszczenie katalogów", -> console.log "czyszczenie katalogu…" zadanie "build", "Buduj i kompiluj pliki dla projektu", -> console.log "budynek …"Zamierzamy wykonać polecenie ciasto i zobaczmy odpowiedź przez konsolę:
Dodatkowo, aby uruchomić oba zadania razem, możemy użyć polecenia cake, a następnie obu nazw naszych zadań:
Jak widzimy w naszych zadaniach nie ma nic dziwnego, ale jeśli jesteśmy obserwatorami, zdajemy sobie sprawę, że najpierw musimy wykonać zadanie czyszczenia zawsze przed naszym zadaniem konstrukcyjnym, ale co jeśli chcemy mieć trzecie zadanie zwane pakowaniem, które następnie spakuje projekt dla nas? Więc najpierw musimy go zbudować, upewnić się, że katalogi są czyste, a na końcu zbudować.
Problem w tym, że to rozwiązanie nie jest optymalne, jeśli z jakiegoś powodu zapomnimy wywołać czyste zadanie lub gorzej, nasz build będzie miał problemy z naszym trzecim zadaniem, na szczęście Cake pozwala nam wywołać jedno zadanie w drugim za pomocą funkcji odwołać się, zobaczmy jak wygląda nasz plik Plik ciastek z nowym zadaniem i modyfikacjami:
zadanie "clean", "To zadanie wykonuje czyszczenie katalogów", -> console.log "czyszczenie katalogu…" zadanie "build", "Buduj i kompiluj pliki dla projektu", -> console.log "buduj…" paczka "zadań" "," wyczyść, zbuduj i spakuj nasz projekt ", -> invoke" clean "invoke" build "console.log" pakowanie… "Teraz wystarczy wywołać nasze pakiety i w ten sposób upewnimy się, że pozostałe dwa wymagane zadania zostaną wywołane bez problemów, zobaczmy wynik w konsoli poleceń:
Należy wspomnieć, że zadania korzystające z funkcji odwołać się są wykonywane asynchronicznie, więc nie mamy gwarancji, że zadanie czyszczenia zostanie wykonane przed budowaniem i pakowaniem, więc musimy być ostrożni w ich użyciu.
Na tym kończymy ten samouczek, w którym nauczyliśmy się tworzyć nasze zadania, wykonywać je, dawać im opcje, a nawet jak wywoływać inne zadania w innych, poszerzając w ten sposób naszą wiedzę w tym skutecznym języku, który przyczynia się do najlepszych praktyk każdego rozwoju.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt