不确定我是否遗漏了什么,但我为 grunt-contrib-copy 任务设置了以下 grunt 设置。
copy: {
build: {
files: {
"server-dist/": "server/**/*.!(coffee)",
"client-dist/": "client/**/*.!(coffee)"
}
}
}
如我所料,client-dist 副本递归地运行文件树,但 server-dist 的所有子文件夹都被展平到基本文件夹。任何想法为什么会这样?这是 i/o
server/
views/
errors/
404.jade
layouts/
base.jade
成为
server/
errors/
layouts/
base.jade
views 文件夹被彻底炸毁了。还有一件事......当我删除 !(coffee) 时它可以工作,但我需要排除咖啡文件,因为我有一个 grunt-coffee watch 任务正在运行。
最佳答案
zacks 评论的后续:
copy: {
mytask: {
files: [
{expand:true, cwd:'dev-js/abc/', dest:'js/test/', src:['def.js']}
]
}
}
这会将文件 ./dev-js/abc/def.js
复制到 ./js/test/def.js
- 至少在我的 0.4.1 上版本。 Zacks 的评论和包含的链接非常有帮助,尤其是 basePath
已被替换这一事实。
关于javascript - 使用 Grunt Copy Task 时文件树的扁平化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13389952/