Есть несколько способов достичь этого.
Настройте задачу copy
на одно из следующих действий. Вам вероятно нужно только следовать Решение A .
Примечание: Решение A и B , оба достигают одинакового результата. Решение C дает немного другой результат:
Раствор А
Используя одну цель с именем html
, вы можете сделать это:
copy:{
html:{
files:[{
src:['components/**', 'index.html'],
dest:'build/'
}]
}
}
Примечание. В массиве src
над первым элементом, который читает 'components/**'
, используется шаблон Globbing (т.е. часть **
). Это означает, что включает в себя все элементы из папки components
и включает в себя все подпапки на несколько уровней при копировании.
Раствор B
Или, используя две цели; один с именем html
и другой с именем components
вы можете сделать это:
copy:{
html:{
files:[{
src:'index.html',
dest:'build/'
}]
},
components:{
files:[{
src:'components/**',
dest:'build/'
}]
}
}
Это очень похоже на Решение A , однако оно использует две цели вместо одной, что может быть более уместным, поскольку имена целей фактически указывают, что они копируют.
Раствор C
Однако, если вы на самом деле не хотите, чтобы папка components
была скопирована в build
, и вместо этого вы хотите, чтобы копировалось только содержимое папки components
, вы можете сделать это:
copy:{
html:{
files:[{
src:'index.html',
dest:'build/'
}]
},
components:{
files:[{
expand:true,
cwd: 'components',
src:'**',
dest:'build/'
}]
}
}
Примечание: Дополнительную информацию см. В разделе files документации grunt: