Я написал функцию, которую я хотел бы использовать в качестве задачи Grunt. Я могу сделать это, добавив это в файл Grunt:
grunt.registerTask('foo', function () {
// code here
});
Однако имеет смысл хранить код функции в отдельном файле. Я планирую определить кучу этих пользовательских задач, и я не хочу раздувать Gruntfile.
Я не уверен, какой предпочтительный способ регистрации таких задач. Я нашел это для работы:
grunt.registerTask('foo', function () {
require('./path/to/foo.js')(grunt);
});
Итак, у меня есть встроенная функция, как в первом примере, но на этот раз я загружаю внешний файл и вызываю его немедленно. В этом внешнем файле я, конечно, должен написать:
module.exports = function (grunt) {
// code here
}
Это работает, но это кажется хакером. Есть ли более правильный способ сделать это?