Rejestrowanie zadań Grunt, których kod znajduje się w zewnętrznych plikach JavaScript

Napisałem funkcję, którą chciałbym wykorzystać jako zadanie Grunt. Mogę to zrobić, dodając to do Gruntfile:

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

Jednak bardziej sensowne jest zachowanie kodu funkcji w osobnym pliku. Planuję zdefiniować kilka tych niestandardowych zadań i nie chcę rozwalać pliku Gruntfile.

Nie jestem pewien, jaki jest preferowany sposób rejestrowania takich zadań. Odkryłem, że to działa:

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

Tak więc mam funkcję inline, jak w pierwszym przykładzie, ale tym razem ładuję plik zewnętrzny i wywołuję go natychmiast. W tym zewnętrznym pliku muszę oczywiście napisać:

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

To działa, ale wydaje się być hackish. Czy jest bardziej odpowiedni sposób na to?

questionAnswers(2)

yourAnswerToTheQuestion