Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
42
rated 0 times [  44] [ 2]  / answers: 1 / hits: 85001  / 11 Years ago, mon, september 23, 2013, 12:00:00

I'm trying to copy all the files in a directory to another directory as part of my build process. It works fine for individual files that I specify explicitly but when I try to copy the whole directory it does weird things like copies the full directory structure (or nothing at all). Here is the relevant part from my GruntFile.js:



copy: {
myvoice: {
files: [
{ src:src/html/index.html, dest:dist/myvoice/index.html },
{ src:src/html/css/style.css, dest:dist/myvoice/css/style.css },
{ src:src/html/js/require.js, dest:dist/myvoice/js/require.js },
{ src:build/myvoice/main.js, dest:dist/myvoice/js/main.js },
{ src:src/html/css/fonts/*, dest:dist/myvoice/css/fonts/ }
]
}
},


Specifically it's the last line that I can't get to work:



      { src:src/html/css/fonts/*, dest:dist/myvoice/css/fonts/ }

More From » gruntjs

 Answers
202

The flatten: true option as in this answer might work for some cases, but it seems to me that the more common requirement (as in my case) is to copy a folder and its sub-folder structure, as-is, to dest. It seems that in most cases if you have sub-folders, they are probably being referenced that way in code. The key to doing this is the cwd option, which will preserve folder structure relative to the specified working directory:



copy: {
files: {
cwd: 'path/to/files', // set working folder / root to copy
src: '**/*', // copy all files and subfolders
dest: 'dist/files', // destination folder
expand: true // required when using cwd
}
}

[#75492] Sunday, September 22, 2013, 11 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
samaraanandah

Total Points: 94
Total Questions: 86
Total Answers: 99

Location: Montenegro
Member since Thu, Jun 16, 2022
2 Years ago
;