Erstellung mehrerer Aufgaben in Grunt

Entwicklungsumgebungen haben viele Kanten, deren manuelle Steuerung manchmal kompliziert ist. Die manuelle Steuerung hat ein Problem, das uns beschäftigt und das darin besteht, dass der Mensch von Natur aus viele Fehler macht, entweder durch Nachlässigkeit, Müdigkeit oder einfache Unkonzentriertheit ein bestimmter Moment.

Computergesteuerte Verfahren leiden nicht unter diesen Problemen, sie hängen jedoch davon ab, was der Mensch ihnen sagt. Es handelt sich um einen iterativen Zyklus. Das Problem besteht darin, dass es wahrscheinlicher ist, dass der Mensch keine Verpflichtung eingeht, wenn er jeweils nur eine Aufgabe ausführt Fehler, aber eine Maschine kann mehrere Aufgaben gleichzeitig genau erledigen.

Was wir erreichen wollen, ist, dass wir in einer Entwicklungsumgebung den Algorithmus für mehrere Aufgaben einzeln manuell ausführen können. Wenn wir jedoch ein Tool programmieren, das diese ausführt, garantieren wir, dass sie wie die ersten ausgeführt werden Zeit und ohne Probleme.

Anforderungen

Dies ist ein Tutorial für Fortgeschrittene, daher benötigen wir einige Aspekte, die Sie haben und beherrschen müssen:

Entwicklungsumgebung
Wir müssen Node.js , npm und Grunt installiert haben, da wir ohne diese Installation keines der Beispiele im Tutorial ausführen können. Es ist erforderlich, Lese- und Schreibberechtigungen für Verzeichnisse sowie für die Dateien in der Umgebung zu haben, in der die Beispiele des Lernprogramms ausgeführt werden, da Grunt Dateien lesen und kopieren kann.

Technisches Wissen
Es ist notwendig zu wissen, was Grunt ist, Grundkenntnisse in JavaScript zu haben, und im Rahmen dessen, was wir über Grunt wissen sollten, zu wissen, wie man zumindest grundlegende Aufgaben erstellt und klare Konzepte für die Struktur eines Projekts mit Grunt hat .

Werkzeuge
Wir benötigen einen Texteditor wie Sublime Text oder NotePad ++, mit dem wir den für unsere Aufgaben erforderlichen Code schreiben können. Wenn wir die Anforderungen erfüllen oder die Möglichkeit haben, im Verlauf des Tutorials nachzuforschen, können wir mit dem Lesen fortfahren, um die Ziele der Beispiele zu verwirklichen.

Mehrere Aufgaben

Die verschiedenen Aufgaben in Grunt sind einfachen Aufgaben in dem Sinne sehr ähnlich, dass wir einige Prozesse automatisieren können. Im Gegensatz zu den einfachen Aufgaben akzeptieren mehrere Aufgaben unterschiedliche Konfigurationen, sodass dieselbe Aufgabe mit unterschiedlichen Parametern ausgeführt werden kann So oder so, wie wir es definiert haben.

See also  Google Hangouts - Erstellen Sie eine Videokonferenz mit YouTube

Hier ist es wichtig, nicht bei der Illusion zu bleiben, dass Grunt wissen wird, was zu tun ist, da es in der Verantwortung jedes Entwicklers liegt, alles zu definieren, was Grunt tun muss. Dies wird mit Konfigurationsoptionen erreicht, und daher kann jede Aufgabe mit mehreren Optionen einen Pfad haben zu folgen, was wir anzeigen können.

Im folgenden Beispiel werden wir insbesondere die Kopie einiger Dateien erstellen. Der interessante Teil ist jedoch, dass wir zwei Sätze von Kopien definieren und abhängig vom gewünschten Pfad die eine oder andere Aufgabe ausführen und es so zu einer Mehrfachaufgabe machen.

Aufgabe definieren

Zunächst definieren wir die Mehrfachaufgabe. Statt registerTask zu verwenden , müssen wir registerMultiTask verwenden . Dadurch erhalten wir einen anderen Aufgabenobjektkonstruktor, mit dem wir die von uns verfolgten Ziele erreichen können.

Dann werden wir ein Objekt namens this.files iterieren. Was es wirklich tut, sind die Elemente, die zu Dateien gehören, die wir etwas später im forEach- Block sehen werden, in dem wir das entsprechende Kopieren durchführen und am Ende von Die Aufgabe druckt alles im Protokoll aus, das es uns ermöglicht, es auf dem Grunt- Bildschirm anzuzeigen.
Nachfolgend sehen wir den Anfangscode unseres Beispiels:

 grunt.registerMultiTask ('copy', function () { this.files.forEach (function (file) { grunt.file.copy (file.src, file.dest); }); grunt.log.writeln ('Kopiert:' + this.files.length + 'files'); }); 

Sobald wir die Aufgabe richtig definiert haben, müssen wir zur nächsten Phase übergehen. Dies ist nichts weiter als die Konfiguration unserer Mehrfachaufgabe zu definieren, die wir zu Beginn des Beispiels angegeben haben. Diese Konfiguration ist auf eine logische Weise aufgebaut, wie wir sagen das hat mehrere Ziele.

Ziele
Im Grunt- Slang werden diese Ziele als Ziele bezeichnet und jedes wird mit einer Nummer unterschieden. In diesem Beispiel erstellen wir in demselben Verzeichnis, in dem sich unsere Datei Gruntfile.js befindet, ein Verzeichnis mit dem Namen source und ein anderes Ziel. Im Quellverzeichnis erstellen wir vier Dateien mit den Namen file1.txt, file2.txt, file3.txt und file4.txt , mit denen wir das Material kopieren können, unabhängig davon, ob sie leer sind.

Wir werden dann unsere Konfiguration erstellen, in der wir den folgenden Code verwenden:

 grunt.initConfig ({ Kopie: { target1: { Dateien: { 'Ziel / Datei1.txt': 'Quelle / Datei1.txt', "Ziel / Datei2.txt": "Quelle / Datei2.txt" } }, target2: { Dateien: { 'Ziel / Datei3.txt': 'Quelle / Datei3.txt', 'destination / file4.txt': 'source / file4.txt' } } } }); 

Da wir unsere Aufgabe definiert und konfiguriert haben, ist es Zeit, dass unsere Aufgabe ausgeführt wird. Daher müssen wir unsere Aufgabe von der Konsole aus aufrufen und das gewünschte Ziel angeben, und damit weiß Grunt , dass er das tun muss, was wir programmiert haben Sehen wir uns an, wie das auf der Konsole aussieht:

See also  Python - SQLite

create-tasks-multiples-grunt.jpg

Wenn wir jetzt unseren Zielordner überprüfen, werden wir sehen, wie die Dateien dort sind:

create-tasks-multiples-grunt-2.jpg

Wenn wir unser Ziel zwei ausführen und den Ordner überarbeiten, werden wir sehen, dass wir alle Dateien kopiert haben:

create-tasks-multiples-grunt-3.jpg
Dies mag auf den ersten Blick etwas kompliziert erscheinen. Sobald wir jedoch wissen, wie diese Aufgaben auszuführen sind, ist es viel einfacher, sie auszuführen. Dies können wir berücksichtigen, wenn wir die Ziele nicht kennen oder wenn wir möchten, dass alles abläuft Füllen Sie das Formular einfach aus, indem Sie die Aufgabe direkt aufrufen. Dadurch werden alle Ziele ausgeführt, die Sie in Ihrer Konfiguration haben, wie im folgenden Screenshot zu sehen ist:

create-tasks-multiples-grunt-4.jpg

Das Multitask-Objekt

Da wir in Grunt eine erste Annäherung an die Welt der vielfältigen Aufgaben erlebt haben , ist es wichtig, ein wenig über das Multitask- Objekt zu sprechen, mit dem wir viele dieser Aktionen ausführen können für Missbräuche oder Laster, die beim Schreiben von Aufgaben entstehen, ohne zu wissen, was wir tun.

Wir werden zunächst die wichtigsten Eigenschaften dieses Objekts betrachten und sie kurz beschreiben, damit wir anfangen können, Wissen zu generieren.

Ziel
Wir haben es im Beispiel bereits gewusst, es ist das Ziel unserer Aufgabe und dafür setzen wir einen Namen in Form einer Textzeichenfolge, bei der es sich in der Regel um dasselbe Zielwort handelt .

Dateien
Ein weiteres Beispiel, das aus unserem vorherigen Beispiel bekannt ist, ist einfach ein Array von Elementen vom Typ file , dh vom Typ file oder file. Jedes Objekt dieser Klasse muss mindestens eine src- Eigenschaft haben, die der Ursprung ist, und optional eine dest- Eigenschaft, die Es ist das Ziel, es ist optional, da es nicht immer erforderlich ist, insbesondere wenn die Datei nicht verschoben oder kopiert wird.

Daten
Dies ist das Zielobjekt als solches. Es wird als Versicherung verwendet, falls die Array-Dateien uns nicht die erforderlichen Optionen bieten.

Wie wir sehen können, hat das Multitask- Objekt einige interessante Komponenten, die, sobald sie bekannt sind, den Horizont dessen öffnen, was Grunt uns in dieser Art von Mehrfachkonfigurationen bieten kann.

See also  Konfiguration von Proxy-Servern im IE

Die Kenntnis der Eigenschaften des Multitask- Objekts ist sehr wichtig, hier zeigen wir nur das Wichtigste. In der offiziellen Dokumentation finden wir jedoch viel mehr Informationen, obwohl es in englischer Sprache mit ein wenig Arbeit mit kostenlosen Übersetzern wie Google ist Falls wir die sichere Sprache nicht beherrschen, können wir die Idee, wie dieses Objekt funktioniert, vertiefen.

Wichtig
Wir dürfen nicht aufhören zu üben, um die verschiedenen Aktivitäten fast automatisch auszuführen, und an diesem Punkt sollte es für uns eine Selbstverständlichkeit sein, Aufgaben in Grunt zu erstellen. Wenn wir dieses Niveau erreichen, können wir es bald in unser reales Projekt einbauen, was uns Zeit spart und Fehler in ihnen zu reduzieren.

Nachdem wir das Tutorial beendet haben, haben wir gelernt, wie man eine Aufgabe mit mehreren Abschnitten ausführt, die getrennt oder alle zusammen ausgeführt werden, je nachdem, wie wir den gleichen Aufruf ausführen. Dieser Aufruf kann manuell oder auch von einer Aufgabe aus erfolgen Die Automatisierungsumgebung wird immer komplexer, aber wenn ein Projekt größer wird, ist dies erforderlich, um die von uns gesetzten Ziele zu erreichen.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *