Wie man Grunzenaufgaben anpassen
Manchmal müssen wir einige unserer eigenen Grunzenaufgaben schreiben, hier ist ein bestimmtes Beispiel
1. Vorbereitung
1. Erstellen Sie ein neues Verzeichnis G1
2. Erstellen Sie ein neues Paket.json und geben Sie es in G1 ein
3. Erstellen Sie eine neue Gruntfile.js und geben Sie es in G1 ein
package.json
Die Codekopie lautet wie folgt:
{
"Name": "G1",
"Version": "0.1.0",
"Autor": "@Snandy",
"Homepage": "http://www.g1.com",
"devDependencies": {{
"Grunzen": "~ 0.4.0"
}
}
4. Geben Sie G1 per CD ein und installieren Sie das Grunnpaket NPM Installation
Die gesamte Verzeichnisstruktur ist wie folgt
Grunnfile.js ist vorübergehend leer.
2. Erstellen Sie die einfachste Aufgabe
GrunT.registerTask (Taskname, [Beschreibung,] Taskfunktion)
Taskname -Aufgabename, verwenden Sie Grunt + Taskname in der Befehlszeile
Beschreibung der Aufgabe
Taskfunction -Task -Implementierung
Füllen Sie den Code in Gruntfile.js aus
Die Codekopie lautet wie folgt:
module.exports = function (grunn) {
Grunt.registerTask ('mytask', 'eine einfachste Aufgabendemonstration, druckt verschiedene Ausgänge nach Parametern aus.', Funktion (arg1, arg2) {
if (Argumente.length === 0) {
grunn.log.writeln ('task' + this.name + ", keine Parameter übergeben");
} else if (Argumente.length === 1) {
grunn.log.writeln ('task' + this.name + "gibt es einen Parameter, der" + arg1) ist;
} anders {
grunn.log.writeln ('task' + this.name + "gibt es zwei Parameter:" + arg1 + "," + arg2);
}
});
};
Eine Aufgabe "mytask" wurde registriert, um die einfachste Implementierung verschiedener Ausdrucke gemäß den bestandenen Parametern zu implementieren. Wir müssen die Befehlszeile gemäß den laufenden Ergebnissen eingeben.
Geben Sie das G1 -Verzeichnis ein und geben Sie Grunn Mytask ein
Geben Sie Grunn Mytask: Snandy ein
Fügen Sie dem Aufgabenamen einen Dickdarm hinzu, um das Argument zu übergeben
Geben Sie Grunn Mytask: Snandy: Backus
Dickdarmintervall kann mehrere Parameter übergeben
3. Erstellen Sie mehrere Aufgaben gleichzeitig
GrunT.registerMultitask (Taskname, [Beschreibung,] Taskfunktion)
Sie können sehen, dass die Parameter gleich sind und die Methodamen unterschiedlich sind. Die Nutzungsmethode ist jedoch anders.
Die Codekopie lautet wie folgt:
module.exports = function (grunn) {
grunT.initconfig ({{
Protokoll: {
T1: [1, 2, 3],
T2: 'Hallo Welt',
T3: Falsch
}
});
grunn.registerMultitask ('log', 'log stuff.', function () {
grunn.log.writeln (this.target + ':' + this.data);
});
};
Geben Sie das G1 -Verzeichnis ein und testen Sie es separat
Geben Sie Grunzen ein und drei Unteraufgaben werden in der Reihe T1, T2, T3 ausgeführt
Geben Sie Grunzenprotokoll ein: T1, Grunzenprotokoll: T2, Grunzenprotokoll: T3 jeweils
4. Kommunikation zwischen den Aufgaben
Eine andere Aufgabe kann wie folgt in einer Aufgabe aufgerufen werden
Die Codekopie lautet wie folgt:
module.exports = function (grunn) {
Grunt.registerTask ('mytask', 'eine einfachste Aufgabendemonstration, druckt verschiedene Ausgänge nach Parametern aus.', Funktion (arg1, arg2) {
if (Argumente.length === 0) {
grunn.log.writeln ('task' + this.name + ", keine Parameter übergeben");
} else if (Argumente.length === 1) {
grunn.log.writeln ('task' + this.name + "gibt es einen Parameter, der" + arg1) ist;
} anders {
grunn.log.writeln ('task' + this.name + "gibt es zwei Parameter:" + arg1 + "," + arg2);
}
});
GrunT.registerTask ('Standard', 'Standard', function () {
// Mytask anrufen
grunn.task.run ('mytask: param1: param2')
})
};
Geben Sie die Befehlszeile ein und geben Sie Grunzen ein
Rufen Sie mehrere Aufgaben an und geben Sie sie an die durch Kommas getrennte Run -Methode oder in Array -Form
Die Codekopie lautet wie folgt:
GrunT.registerTask ('Standard', 'Standard', function () {
grunn.task.run ('mytask1', 'mytask2')
// oder
grunn.task.run (['mytask1', 'mytask2'])
})