Ответ 1
вам, вероятно, понадобится скопировать вашу собственную задачу, где вы будете перебирать свои подпапки и динамически присоединяться к вашей конфигурации concat.
grunt.registerTask("your-task-name", "your description", function() {
// read all subdirectories from your modules folder
grunt.file.expand("./modules/*").forEach(function (dir) {
// get the current concat config
var concat = grunt.config.get('concat') || {};
// set the config for this modulename-directory
concat[dir] = {
src: ['/modules/' + dir + '/js/*.js', '!/modules/' + dir + '/js/compiled.js'],
dest: '/modules/' + dir + '/js/compiled.js'
};
// save the new concat configuration
grunt.config.set('concat', concat);
});
// when finished run the concatinations
grunt.task.run('concat');
});
запустите это с помощью
$ grunt your-task-name
этот код не проверен, но я думаю, что он должен выполнять вашу работу.
СОВЕТ: вы можете поместить этот код во внешний файл и включить в свой файл grunt, если хотите сохранить свой файл grunt small, например. поместите это в файл внутри каталога задач:
module.exports = function(grunt) {
grunt.registerTask("your-task-name", "your description", function() {
...
});
};
и загрузите в свой файл grunt:
grunt.loadTasks("./tasks");