Ich habe eine Funktion geschrieben, die ich als eine Grunt-Aufgabe verwenden möchte. Ich kann dies tun, indem diese zur Ergänzung der Gruntfile:Registrierung Grunt Aufgaben, deren Code in externen JavaScript-Dateien befindet
grunt.registerTask('foo', function() {
// code here
});
Allerdings macht es mehr Sinn, den Funktionscode in einer separaten Datei zu halten. Ich plane, eine Menge dieser benutzerdefinierten Aufgaben zu definieren, und ich möchte die Gruntfile nicht aufblähen.
Ich bin mir nicht sicher, was die bevorzugte Art der Registrierung solcher Aufgaben ist. Ich habe dies zur Arbeit gefunden:
grunt.registerTask('foo', function() {
require('./path/to/foo.js')(grunt);
});
Also, ich bin wie im Faust Beispiel die Inline-Funktion, aber dieses Mal, ich bin eine externe Datei geladen und sofort aufgerufen wird. In dieser externen Datei muss ich natürlich schreiben:
module.exports = function (grunt) {
// code here
}
Das funktioniert, aber es fühlt sich hackish. Gibt es einen geeigneteren Weg, dies zu tun?
Und wie kann ich neu schreiben meine Funktion als Aufgabe? Was wäre die einfachste Einrichtung? Ich habe nur eine Funktion, die ich an einen Namen binden möchte, so dass ich es mit 'grunt name' in der Befehlszeile aufrufen kann. –
Ich habe gerade meine Antwort bearbeitet. – Krasimir
Ich habe dieses Muster ausprobiert. Es funktioniert nicht. Ich bekomme 'Warnung: Aufgabe 'foo" nicht gefunden. "In der Befehlszeile. Ich habe versucht, den Pfad mit einem führenden '. /', Einem führenden '/' und ohne diese anzugeben. –