我的目录结构如下:
source/
libraries/
d3.js
lodash.js
//etc
我的grunt-copy设置如下:
copy: {
main: {
files: [
{
src: ["source/libraries/*.js"],
dest: "build/",
flatten: true
}
我希望它可以将输出平铺到build中,这样我就可以
build/
d3.js
//etc
相反,我得到了构建中原始目录结构的再现:
build/
source/
libraries/
d3.js
//etc
是什么赋予了?我没有正确使用展平吗?
最佳答案
好吧,如果您只想使用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
}
]
}
}