Registrando tarefas do Grunt cujo código está localizado em arquivos JavaScript externos
Eu escrevi uma função que gostaria de usar como tarefa Grunt. Eu posso fazer isso adicionando isso ao Gruntfile:
grunt.registerTask('foo', function () {
// code here
});
No entanto, faz mais sentido manter o código de função em um arquivo separado. Eu pretendo definir um monte dessas tarefas personalizadas e não quero inchar o Gruntfile.
Não tenho certeza qual é a maneira preferida de registrar essas tarefas. Eu encontrei isso para trabalhar:
grunt.registerTask('foo', function () {
require('./path/to/foo.js')(grunt);
});
Então, estou tendo a função inline como no primeiro exemplo, mas desta vez, estou carregando um arquivo externo e invocando-o imediatamente. Nesse arquivo externo, é claro que tenho que escrever:
module.exports = function (grunt) {
// code here
}
Isso funciona, mas parece hackish. Existe uma maneira mais adequada de fazer isso?