Я довольно новичок в Grunt. Я пытаюсь скопировать каждый подкаталог из одного места и поместить их в другой целевой каталог. Я делаю это в специальной задаче grunt, потому что я не могу быть уверен, сколько подкаталогов будет существовать в исходном местоположении. Проблема, с которой я сталкиваюсь, - каждый раз, когда выполняется копирование, предыдущая структура каталога переопределяется.Задача Grunt Copy перезаписывает родительский каталог назначения
Я попытался установить 'cwd' в корень подкаталогов, из которых я копирую, но проблема остается.
структура папок:
container
|
- dist/ *I want to copy each src folder here
|
GruntFile.js
subapps
|
- thing1/dist
| *I want to copy each of these dirs (thing1/dist, thing2/dist) to container/dist eg: container/dist/thing1/dist, container/dist/thing2/dist
- thing2/dist
Моя задача:
grunt.registerTask('copySubApps', function() {
grunt.file.expand({filter : 'isDirectory'}, '../subapps/*/').forEach(function (subapp) {
var subAppName = path.basename(subapp);
var subAppDest = grunt.template.process('dist/subapps/<%= appName %>/dist/',{data:{appName:subAppName}});
grunt.config('subAppDest', subAppDest);
grunt.config('subAppName', subAppName);
grunt.task.run('copy:subapp');
});
});
Конфигурация:
copy: {
subapp: {
expand: true,
src: '**/*',
dest: '<%= subAppDest %>',
cwd: '../subapps/<%= subAppName %>/dist'
}
}
Каждая последующая копия перезаписывает одну предшествующую его. Как мне избежать этого? Я уверен, что это довольно наивный подход, поэтому предложения и рекомендации очень приветствуются. :-) Как только это работает, мне нужно еще больше фильтровать, какие элементы из каждой подпапки копируются. например, subapps/thing1/style,! subapps/thing1/common и т. д.
Спасибо!