我有这个dir结构:
asdf
|---a
| |---files
| |---folders
|
|---b
|---files
|---folders我想使用grunt-contrib-compress (我想这就是我想要的),最终得到两个压缩文件a.zip和b.zip
a.zip
|---files
|---folders
b.zip
|---files
|---folders有没有办法做到这一点?我在任何地方都找不到有多个输出的东西(它没有说明这是可能的还是不可能的)。关于compress的唯一其他问题是如何在没有根文件夹的情况下压缩(我也想这样做)
如有任何帮助,我们将不胜感激:)
发布于 2017-05-25 14:48:32
看起来grunt-contrib compress不是最好的解决方案。解决您的问题的任务是grunt-zip-directories
对于您的特定情况,任务配置应为:
zip_directories: {
asdf: {
files: [{
filter: 'isDirectory',
expand: true,
cwd: './asdf',
dest: './zip',
src: '*'
}]
}
}这个任务的作用是,它获取“./asdf”的所有子目录,并将它们压缩到单独的zip归档文件中,然后将这些归档文件放到“./zip”文件夹中。所以在执行之后,您应该在“./zip”目录中有两个文件: a.zip和b.zip,正如您在问题中所问的那样。
发布于 2015-11-12 01:22:40
压缩任务不提供开箱即用功能,但使用动态配置有很好的变通方法:
grunt.dynamicCompress = function (path)
{
var target = grunt.file.expand(path);
for (var i in target)
{
grunt.config.set('compress.' + target[i],
{
src:
[
target[i] + '/**'
],
options:
{
archive: 'your-dist-folder/' + target[i].toLowerCase() + '.zip'
}
});
}
};使用您的目标路径运行它:
grunt.dynamicCompress('your-target-folder/*');https://stackoverflow.com/questions/28307299
复制相似问题