Använda tårta i CoffeeScript

Innehållsförteckning
CoffeeScript är ett språk som tillåter oss att skriva bättre JavaScript -kod, detta förenar den och inramar den under samma struktur, där vi kommer att vara säkra på att JavaScript -koden skapad av CoffeeScript av en annan utvecklare kommer den att vara identisk med vår.
Men det är inte allt det erbjuder CoffeeScript, dessutom har den ett verktyg som heter Kaka, liknande Grunt som gör att vi kan definiera enkla uppgif.webpter för att hjälpa oss med våra projekt, eftersom det är möjligt att vi behöver en uppgif.webpt för att köra test eller helt enkelt en för att bygga våra filer och vi kan göra allt detta med Kaka genom en fil som heter Cakefile.
KravFör att slutföra denna handledning måste vi ha en funktionell installation av CoffeeScript, vi behöver också behörigheter för att skriva filer och köra CoffeeScript på datorn där vi gör handledningen. Vi behöver en textredigerare som Sublim text för att kunna skriva koden för våra exempel och det skadar aldrig att ta en titt på språkets tidigare handledning.
Innan du börjar är det viktigt att nämna att vi inte behöver installera Kaka, vid tidpunkten för vår första installation av CoffeeScript verktyget installeras på samma sätt, så vi behöver inte göra något extra för att börja arbeta med det.
Genom att veta detta kan vi börja arbeta med Kaka, men vi måste förstå att alla uppgif.webpter som vi skapar måste finnas i en fil som heter Cakefile, som måste ha exakt samma namn sedan kakfil det kommer att vara en helt annan fil och kommer inte att identifieras av kompilatorn.
Den här filen måste vara roten till vårt projekt och det är oerhört viktigt att dess innehåll bara är kod CoffeeScript. Efter att ha klarat detta, låt oss se hur vi skapar vår första uppgif.webpt med Kaka.
Vi ska skapa en mapp som heter cakefile_example och där ska vi skapa en fil som heter Cakefile.coffee och det kommer att innehålla följande innehåll:
 uppgif.webpt "hälsning", "Låt oss säga hej till det stora solvetiska samhället", -> console.log "Hej, värld!"
Innan vi förklarar vår kod kommer vi att sammanställa den och se innehållet som genereras i JavaScript, detta är inte nödvändigt eftersom vi aldrig kommer att se den här koden, men den här gången kan vi använda den för att bättre förstå vad den gör CoffeeScript, låt oss se utgången:

FÖRSTORA

Eftersom vi är i kontext kan vi förklara vår kod, först definierar vi uppgif.webpten med funktionen uppgif.webpt som läggs till automatiskt i varje fil Cakefile. Funktionens första argument är namnet på uppgif.webpten, i det här fallet är det hälsning och vi kommer att använda det i kommandokonsolen för att utföra uppgif.webpten, det andra argumentet kan vara valfritt och är en beskrivning av uppgif.webpten som kommer att visas i listan över våra tillgängliga uppgif.webpter. Det sista argumentet skickar vi in ​​funktionen uppgif.webpt det är en annan funktion som kommer att utföras av uppgif.webpten och det är där det mesta av vår logik kommer att deponeras.
Det föregående exemplet var bara att kontrollera vad kompilatorn gjorde, men vår fil Cakefile den får inte ha någon förlängning. Vi kan dessutom se vilka uppgif.webpter vi har tillgängliga med kommandot kaka Låt oss se hur det ser ut i kommandokonsolen:

Som vi kan se kan vi se namnet på vår uppgif.webpt samt beskrivningen. Nu för att utföra en viss uppgif.webpt använder vi tårtkommandot följt av uppgif.webptens namn, för att avsluta låt oss se utdata från konsolen:

Vi vet redan hur vi skapar en uppgif.webpt och kör den, men vad händer om vi vill skicka några argument till den? Till exempel, vad händer om vi vill att vår hälsning ska vara helt personlig efter ett värde som vi skickar? Detta är ganska lätt att göra, låt oss se.
Det första vi måste göra i vår uppgif.webpt är att definiera alternativet, vi gör detta med funktionen alternativ tillgängligt Kaka. Denna funktion tar tre argument, den första är alternativets korta form, den andra är den långa formen och den sista är en beskrivning av vad alternativet gör, något viktigt om vi utvecklas som ett team och vill dokumentera våra uppgif.webpter. Vi kommer sedan att göra ändringarna av vår uppgif.webpt för att definiera alternativet:
 alternativ '-n', '--name [NAME]', 'name to greet' uppgif.webpt "hälsning", "Vi säger hej till någon", (optioner)-> meddelande = "Hej", om options.name? meddelande + = options.name else meddelande + = "Världen" console.log meddelande
Som vi ser innan definitionen av uppgif.webpt vi har vår funktion alternativ, följt av den korta formen som skulle vara -n, då har vi den långa formen som skulle vara -namn som anger att det kommer att förvänta sig ett värde och slutligen beskrivningen. Vi ska köra kommandot tårta och se resultatet i vår konsol:

Som vi kan se har vi namnet på vår uppgif.webpt, beskrivningen och nedanför har vi alternativen tillgängliga för den, de korta och långa alternativen samt beskrivningen. Låt oss köra vår uppgif.webpt med det korta alternativet och se resultatet från konsolen:

För att utföra en uppgif.webpt med alternativ är det viktigt att vi först anger argumenten och sedan namnet på uppgif.webpten eftersom om vi inte stöter på ett fel säger det inte mycket om vad som kan hända med vår Cakefile -fil, låt oss se hur körningen använder det andra alternativet:

Här händer något märkligt och det är att innan vi utför uppgif.webpten använder vi alternativet med ett enda skript, vilket ger oss ett fel och det är det rätta att göra eftersom vi i vår uppgif.webpt har definierat alternativet som --- namn istället för -namn, vilket visar effektiviteten av CoffeeScript för drift av uppgif.webpter.
Dessutom kan vi definiera om ett alternativ krävs och vi gör detta i definitionen av uppgif.webpten som kontrollerar om värdet finns och om vi inte kastar ett fel, låt oss se hur den här koden ser ut:
 alternativ '-n', '--name [NAME]', 'namn du vill hälsa' uppgif.webpt "hälsning", "Verifiera att alternativet finns", (alternativ)-> kasta nytt fel ("[NAME] är en värde krävs ") om inte options.name? console.log "Hej, # {options.name}"
Låt oss sedan köra vår uppgif.webpt men den här gången ignorerar vi alternativet som ett argument och ser svaret från konsolen:

Som vi kan se visades felet som vi inkluderade i filen och kunde därmed validera att alternativen för våra uppgif.webpter skickas som argument vid behov.
Efter att redan ha sett hur vi skapar våra uppgif.webpter och definierar alternativ för dem, är det viktigt att se hur vi kan utföra uppgif.webpter som finns inom andra. Till exempel kan vi ha två uppgif.webpter gemensamt i ett projekt där en av uppgif.webpterna ansvarar för rengöring av de kataloger som vi har byggt för projektet och den andra ansvarar för att sammanställa och bygga, låt oss se hur dessa två uppgif.webpter som vi har precis sett ut som beskriva:
 uppgif.webpt "ren", "Denna uppgif.webpt utför rengöring av kataloger", -> console.log "rengöring av direkt …" uppgif.webpt "bygg", "Bygg och kompilera filerna för projektet", -> console.log "bygga …"
Vi kommer att utföra kommandot kaka och låt oss se svaret genom konsolen:

För att köra båda uppgif.webpterna tillsammans kan vi använda tårtkommandot följt av båda namnen på våra uppgif.webpter:

Som vi kan se finns det inget konstigt i våra uppgif.webpter, men om vi är observatörer inser vi att vi först måste utföra rengöringsuppgif.webpten alltid före vår konstruktionsuppgif.webpt, men tänk om vi vill ha en tredje uppgif.webpt som heter förpackning, som sedan kommer att förpacka projekt för oss? Så vi måste först bygga det, se till att katalogerna är rena och slutligen bygga.
Problemet är att denna lösning inte är optimal, om vi av någon anledning glömmer att kalla den rena uppgif.webpten eller ännu värre, kommer vår bygguppgif.webpt att få problem med vår tredje uppgif.webpt, lyckligtvis gör Cake det möjligt för oss att ringa en uppgif.webpt inom en annan med funktionen åberopa, låt oss se hur vår fil ser ut Cakefile med den nya uppgif.webpten och modifieringarna:
 uppgif.webpt "ren", "Denna uppgif.webpt utför rengöring av kataloger", -> console.log "rengöring av direkt …" uppgif.webpt "bygg", "Bygg och kompilera filerna för projektet", -> console.log "bygga …" uppgif.webpt "packa", "städa, bygga och packa vårt projekt", -> åkalla "ren" åkalla "bygga" console.log "packa …"
Nu måste vi bara ringa till vår förpackning och på det sättet ser vi till att de andra två nödvändiga uppgif.webpterna kallas utan problem, låt oss se utmatningen i kommandokonsolen:

Det är viktigt att nämna att de uppgif.webpter som använder funktionen åberopa de utförs asynkront, så vi har ingen garanti för att rengöringsuppgif.webpten kommer att utföras före byggande och förpackning, så vi måste vara försiktiga vid användning.
Med detta avslutar vi denna handledning, där vi lärde oss att skapa våra uppgif.webpter, utföra dem, ge dem alternativ och till och med hur vi kan åberopa andra uppgif.webpter inom andra, och på så sätt utöka vår kunskap i detta effektiva språk som bidrar till bästa praxis för varje utveckling.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave