我的目录结构如下:
source/
libraries/
d3.js
lodash.js
//etc
我有如下的grunt-copy设置:
copy: {
main: {
files: [
{
src: ["source/libraries/*.js"],
dest: "build/",
flatten: true
}
我希望它将输出变为构建,这样我就可以了
build/
d3.js
//etc
相反,我在build中获得了原始目录结构的再现:
build/
source/
libraries/
d3.js
//etc
是什么给出的?我没有正确使用扁平化吗?
答案 0 :(得分:21)
好吧,如果您只使用flatten
,因为您希望source/libraries
中的所有内容都进入build
,我建议您实际使用cwd
(当前工作目录) )而是选项。另一方面,如果您实际上在source/libraries
中有子文件夹,那么您可能希望src
行为source/libraries/**/*.js
。
在任何情况下,如果您可以使用cwd
,它将如下所示:
copy: {
main: {
files: [
{
src: ["*.js"],
dest: "build/",
cwd: "source/libraries/"
}
]
}
对于另一种情况,也许这个? (请注意expand
选项设置为true
)
copy: {
main: {
files: [
{
src: ["source/libraries/**/*.js"],
dest: "build/",
flatten: true,
expand: true
}
]
}
}