首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在节点JS中打包.tar.gz文件时忽略某些文件

在节点JS中打包.tar.gz文件时忽略某些文件
EN

Stack Overflow用户
提问于 2018-08-27 20:26:51
回答 2查看 472关注 0票数 0

所以我已经有了"targz“包中的一些代码,它将所有文件打包到一个目录中。现在我已经看到你可以忽略文件(而不是打包它们),我也想这样做。我就是想不出该怎么写忽略部分。下面是我的代码:

代码语言:javascript
复制
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();
    }
});

有没有人能告诉我,我需要怎么写这个部分才能让它工作?我将不胜感激

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-27 21:41:20

我认为entriesignore的结合并没有像你预期的那样工作。无论ignore做什么,如果你在entries中包含一个文件,它都会被添加到你的存档中。

我不认为您需要手动指定entries,因为您已经指定了一个src。因此,删除entries应该可以做到这一点。

票数 1
EN

Stack Overflow用户

发布于 2018-08-27 20:41:44

例如,从您的代码中,您可以过滤具有.pdf扩展名的所有文件,您可以使用ignore函数作为过滤器。

您可以重写此函数来过滤所有文件,而不是您的特定文件:

代码语言:javascript
复制
ignore: function filter(name) {
  const specificFilesToIgnore = ['some_specific.pdf', 'other_specific.pdf'];

  return path.extname(file) === '.pdf' && !specificFilesToIgnore.includes(name); 
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52039355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档