Verwenden von Kuchen in CoffeeScript

Inhaltsverzeichnis
KaffeeScript ist eine Sprache, die es uns ermöglicht, besseren JavaScript-Code zu schreiben, dies zu vereinheitlichen und unter die gleiche Struktur zu fassen, wobei wir sicher sind, dass der von . erstellte JavaScript-Code KaffeeScript von einem anderen Entwickler wird es mit unserem identisch sein.
Aber das ist nicht alles, was es bietet KaffeeScript, zusätzlich hat es ein Tool namens Kuchen, ähnlich wie Grunt, das es uns ermöglicht, einfache Aufgaben zu definieren, die uns bei unseren Projekten helfen, da es möglich ist, dass wir eine Aufgabe zum Ausführen von Tests oder einfach zum Erstellen unserer Dateien benötigen Kuchen durch eine Datei namens Kuchendatei.
AnforderungenUm dieses Tutorial abzuschließen, benötigen wir eine funktionsfähige Installation von KaffeeScript, wir brauchen auch Berechtigungen, um Dateien zu schreiben und auszuführen KaffeeScript auf dem Computer, auf dem wir das Tutorial durchführen. Wir brauchen einen Texteditor wie Erhabener Text um den Code unserer Beispiele schreiben zu können und es schadet nie, einen Blick in die vergangenen Tutorials der Sprache zu werfen.
Vor dem Start ist es wichtig zu erwähnen, dass wir nicht installieren müssen Kuchen, zum Zeitpunkt unserer Erstinstallation von KaffeeScript Das Tool wird auf die gleiche Weise installiert, sodass wir nichts weiter tun müssen, um damit zu arbeiten.
Mit diesem Wissen können wir anfangen zu arbeiten Kuchen, aber wir müssen verstehen, dass sich alle von uns erstellten Aufgaben in einer Datei namens . befinden müssen Kuchendatei, die genau den gleichen Namen haben muss, da Kuchendatei es ist eine völlig andere Datei und wird vom Compiler nicht erkannt.
Diese Datei muss die Wurzel unseres Projekts sein und es ist äußerst wichtig, dass ihr Inhalt lediglich Code ist KaffeeScript. Nachdem wir dies geklärt haben, sehen wir uns an, wie wir unsere erste Aufgabe erstellen mit Kuchen.
Wir erstellen einen Ordner namens Kuchendatei_Beispiel und dort erstellen wir eine Datei namens Kuchendatei.kaffee und enthält folgenden Inhalt:
 Aufgabe "Gruß", "Lass uns Hallo zur großen Solvetic-Community sagen", -> console.log "Hallo Welt!"
Bevor wir unseren Code erklären, werden wir ihn kompilieren und den in JavaScript generierten Inhalt sehen. Dies ist nicht notwendig, da wir diesen Code nie sehen werden, aber dieses Mal könnten wir ihn verwenden, um besser zu verstehen, was er tut KaffeeScript, sehen wir uns die Ausgabe an:

VERGRÖSSERN

Da wir uns im Kontext befinden können wir unseren Code erklären, zuerst definieren wir die Aufgabe mit der Funktion Aufgabe die automatisch zu jeder Datei hinzugefügt wird Kuchendatei. Das erste Argument der Funktion ist der Name der Aufgabe, in diesem Fall ist es Gruß und wir werden es in der Befehlskonsole verwenden, um die Aufgabe auszuführen. Das zweite Argument kann optional sein und ist eine Beschreibung der Aufgabe, die in der Liste unserer verfügbaren Aufgaben angezeigt wird. Das letzte Argument, das wir in der Funktion senden Aufgabe es ist eine weitere Funktion, die von der Aufgabe ausgeführt wird, und dort wird der Großteil unserer Logik hinterlegt.
Das vorherige Beispiel war nur, um zu überprüfen, was der Compiler tut, aber unsere Datei Kuchendatei es darf keine Erweiterung haben. Mit dem Befehl können wir zusätzlich sehen, welche Aufgaben wir zur Verfügung haben Kuchen Sehen wir uns in der Befehlskonsole an, wie es aussieht:

Wie wir sehen können wir den Namen unserer Aufgabe sowie die Beschreibung sehen. Um nun eine bestimmte Aufgabe auszuführen, verwenden wir den Befehl cake gefolgt vom Namen der Aufgabe. Zum Abschluss sehen wir uns die Ausgabe der Konsole an:

Wir wissen bereits, wie man eine Aufgabe erstellt und ausführt, aber was ist, wenn wir ihr einige Argumente übergeben möchten? Was ist zum Beispiel, wenn wir möchten, dass unsere Begrüßung gemäß einem von uns gesendeten Wert vollständig personalisiert ist? Das ist ziemlich einfach, mal sehen.
Das erste, was wir in unserer Aufgabe tun müssen, ist die Option zu definieren, wir tun dies mit der Funktion Möglichkeit erhältlich Kuchen. Diese Funktion benötigt drei Argumente, das erste ist die Kurzform der Option, das zweite ist die Langform und das letzte ist eine Beschreibung der Funktion der Option, etwas wichtig, wenn wir als Team entwickeln und unsere Aufgaben dokumentieren wollen. Wir werden dann die Änderungen an unserer Aufgabe vornehmen, um die Option zu definieren:
 Option '-n', '--name [NAME]', 'Name zur Begrüßung' Aufgabe "Begrüßung", "Wir sagen Hallo zu jemandem", (Optionen) -> Nachricht = "Hallo", if options.name? Nachricht + = options.name else message + = "World" console.log Nachricht
Wie wir vor der Definition von sehen Aufgabe wir haben unsere funktion Möglichkeit, gefolgt von der Kurzform -n, dann haben wir die Langform -name, die angibt, dass ein Wert erwartet wird, und schließlich die Beschreibung. Wir werden den Cake-Befehl ausführen und die Ausgabe in unserer Konsole anzeigen:

Wie wir sehen, haben wir den Namen unserer Aufgabe, die Beschreibung und darunter die verfügbaren Optionen, die Kurz- und Langoptionen sowie die Beschreibung. Lassen Sie uns unsere Aufgabe mit der kurzen Option ausführen und die Ausgabe der Konsole anzeigen:

Um eine Aufgabe mit Optionen auszuführen, ist es wichtig, dass wir zuerst die Argumente und dann den Namen der Aufgabe angeben, denn wenn kein Fehler auftritt, sagt dies nicht viel darüber aus, was mit unserer Cakefile-Datei passiert die Ausführung verwendet die zweite Option:

Hier passiert etwas Seltsames und es ist, dass wir vor der Ausführung der Aufgabe die Option mit einem einzigen Skript verwenden, was uns einen Fehler gibt und es ist die richtige Vorgehensweise, da wir in unserer Aufgabe die Option als --- name anstelle von definiert haben -Name und zeigt damit die Wirksamkeit von KaffeeScript zum Ausführen von Aufgaben.
Außerdem können wir definieren, ob eine Option erforderlich ist, und wir tun dies in der Definition der Aufgabe, um zu prüfen, ob der Wert vorhanden ist und ob wir keinen Fehler ausgeben. Schauen wir uns an, wie dieser Code aussieht:
 Option '-n', '--name [NAME]', 'Name, den Sie begrüßen möchten' Aufgabe "Begrüßung", "Überprüfen Sie, ob die Option existiert", (Optionen) -> werfen Sie einen neuen Fehler ("[NAME] ist a Wert erforderlich"), es sei denn, options.name? console.log "Hallo, # {options.name}"
Lassen Sie uns dann unsere Aufgabe ausführen, aber diesmal ignorieren wir die Option als Argument und sehen die Antwort von der Konsole:

Wie wir sehen, wurde der Fehler angezeigt, den wir in die Datei aufgenommen haben, sodass wir überprüfen können, ob die Optionen für unsere Aufgaben bei Bedarf als Argumente übergeben werden.
Nachdem wir bereits gesehen haben, wie wir unsere Aufgaben erstellen und Optionen dafür definieren, ist es wichtig zu sehen, wie wir Aufgaben ausführen können, die in anderen gefunden werden. Zum Beispiel können wir in einem Projekt zwei Aufgaben gemeinsam haben, bei denen eine der Aufgaben für das Bereinigen der Verzeichnisse verantwortlich ist, die wir für das Projekt erstellt haben, und die andere für das Kompilieren und Erstellen zuständig ist Wir sind gerade fertig geworden.
 Task "clean", "Dieser Task führt die Bereinigung der Verzeichnisse durch", -> console.log "cleaning the dir …" Task "build", "Build und Compile the files for the project", -> console.log "Gebäude…"
Wir werden den Befehl ausführen Kuchen und sehen wir uns die Antwort über die Konsole an:

Um beide Aufgaben zusammen auszuführen, können wir zusätzlich den Cake-Befehl verwenden, gefolgt von den beiden Namen unserer Aufgaben:

Wie wir sehen, ist an unseren Aufgaben nichts Seltsames, aber wenn wir Beobachter sind, stellen wir fest, dass wir zuerst immer vor unserer Bauaufgabe die Reinigungsaufgabe ausführen müssen, aber was ist, wenn wir eine dritte Aufgabe namens Verpackung wollen, die dann die verpackten Projekt für uns? Also müssen wir es zuerst bauen, sicherstellen, dass die Verzeichnisse sauber sind und schließlich bauen.
Das Problem ist, dass diese Lösung nicht optimal ist, wenn wir aus irgendeinem Grund vergessen, die saubere Aufgabe aufzurufen, oder schlimmer noch, unsere Build-Aufgabe wird Probleme mit unserer dritten Aufgabe haben. Glücklicherweise ermöglicht es uns Cake mit der Funktion, eine Aufgabe innerhalb einer anderen aufzurufen aufrufen, dann sehen wir uns an, wie unsere Datei aussieht Kuchendatei mit der neuen Aufgabe und Modifikationen:
 Task "clean", "Dieser Task führt die Bereinigung der Verzeichnisse durch", -> console.log "cleaning the dir …" Task "build", "Build und Compile the files for the project", -> console.log "building … "task" pack "," clean, build and pack our project ", -> invoke" clean "invoke" build "console.log"packing … "
Jetzt müssen wir nur noch unser Packaging aufrufen und stellen so sicher, dass die anderen beiden benötigten Tasks problemlos aufgerufen werden, sehen wir uns die Ausgabe in der Kommandokonsole an:

Es ist wichtig zu erwähnen, dass die Aufgaben, die die Funktion verwenden aufrufen Sie werden asynchron ausgeführt, daher können wir nicht garantieren, dass die Bereinigungsaufgabe vor dem Erstellen und Verpacken ausgeführt wird. Daher müssen wir bei ihrer Verwendung vorsichtig sein.
Damit schließen wir dieses Tutorial ab, in dem wir gelernt haben, unsere Aufgaben zu erstellen, auszuführen, ihnen Optionen zu geben und sogar andere Aufgaben in anderen aufzurufen, um so unser Wissen in dieser effektiven Sprache zu erweitern, die zu den Best Practices jeder Entwicklung beiträgt.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben
wave wave wave wave wave