因此,我已经有了“ targz”包中的一些代码,该代码将所有文件打包在目录中。现在,我看到您可以以某种方式忽略文件(而不是打包文件),我也想这样做。我只是不知道如何编写忽略部分。这是我的代码:
targz.compress({
src: "./" + this.sourcePath + "/",
dest: "./" + this.targetPath + "/" + "result.tar.gz",
tar: {
entries: this.fileArray,
ignore: function(name) {
return path.extname(name) === '.pdf'
}
},
gz: {
level: 6,
memLevel: 6,
}
}, function(err){
if(err) {
console.log(err);
reject(err);
} else {
resolve();
}
});
有人可以告诉我如何编写该节,以便它起作用吗?不胜感激
答案 0 :(得分:1)
我认为entries
和ignore
的组合无法正常工作。如果您在entries
中包含文件,则无论ignore
做什么,该文件都会被添加到存档中。
我认为您无需手动指定entries
,因为您已经指定了src
。因此,删除entries
应该可以解决问题。
答案 1 :(得分:0)
您获得了ignore
函数,该函数充当过滤器,例如,从您的代码中,您正在过滤所有扩展名为.pdf
的文件。
您可以重写此功能以过滤所有文件,而不是特定文件:
ignore: function filter(name) {
const specificFilesToIgnore = ['some_specific.pdf', 'other_specific.pdf'];
return path.extname(file) === '.pdf' && !specificFilesToIgnore.includes(name);
}