L'enregistrement de Grunt tâches dont le code se trouve dans des fichiers JavaScript externes

J'ai écrit une fonction qui je voudrais utiliser comme un Grognement tâche. Je peux le faire en ajoutant ceci à la Gruntfile:

grunt.registerTask('foo', function () {
    //code here
});

Cependant, il est plus judicieux de garder le code de la fonction dans un fichier séparé. J'ai l'intention de définir un tas de ces tâches personnalisées et je ne veux pas encombrer l'Gruntfile.

Je ne suis pas sûr de ce que le moyen préféré de l'inscription de ces tâches. J'ai trouvé que c':

grunt.registerTask('foo', function () {
    require('./path/to/foo.js')(grunt);
});

Donc, je vais avoir la fonction inline, comme dans le premier exemple, mais cette fois, je suis le chargement d'un fichier externe et l'invoque immédiatement. Dans ce fichier externe, bien sûr, je dois écrire:

module.exports = function (grunt) {
    //code here
}

Cela fonctionne, mais il se sent hackish. Est-il un plus bonne façon de le faire?

OriginalL'auteur | 2013-09-05