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?