[编辑:已解决,请参阅下面的答案]
我想运行一个grunt-contrib-copy任务,它将所有内容从一个目录(源目录)复制到另一个位置(分发目录),但一个文件夹除外。换句话说,给定结构:
src
丨- images
丨- favicons/
丨- files.jpg
丨- other folders/
丨- individual_file.png
我想移动“图像”但没有“图标”,产生以下内容:
dist
丨- images
丨- other folders/
丨- individual_file.png
但是,我得到的是:
dist
丨- images
丨- favicons (empty)
丨- other folders/
丨- individual_file.png
我已经查看了关于 SO 的以下问题:
但是我的语法有问题。我使用了各种 globbing 模式,最接近的成功(适用于任意数量的不同 globbing 模式)是在目标位置创建文件夹,但其中没有任何文件。
这是我认为与此答案中接受的答案或多或少相同的内容:
imageDist: {
expand: true,
cwd: 'src/images/',
src: ['**/*', '!**/favicons/**'],
dest: 'dist/images/'
}
但它会导致一个空的“favicons”目录。
这是我尝试过的许多模式中的至少一种,它也导致了一个空的“favicons”目录。这对我来说最有意义,因为我说的是“复制所有内容”,然后是“除了网站图标”。我不需要为排除匹配使用通配符,因为我知道我有一个名为 favicons 的目录。我还尝试了以下前导斜杠和尾随斜杠(不带通配符)的组合:
imageDist: {
expand: true,
cwd: 'src/images/',
src: ['*', '!favicons'],
dest: 'dist/images/'
}