在yeoman生成器中复制目录时是否可以忽略文件?

时间:2016-03-28 12:27:00

标签: yeoman glob ignore yeoman-generator

我试图编写一个yeoman生成器,有时我需要将github repo的文件/文件夹复制到当前工作目录,例如:

this.remote('owner', 'repo', function (err, remote) {
    remote.directory('.', '.');
});

但是我想忽略这个仓库中的一些文件,是否可以这样做?我找到了function responsible for this,但它似乎并不是一个明确的方法,你可以通过process功能,但我不确定你是否可以"取消"如果文件与某个模式匹配,则会被复制。

2 个答案:

答案 0 :(得分:1)

您应该依赖this.fs object而不是旧的折旧文件方法。

this.fs上的助手方法支持glob模式,因此忽略某些文件变得微不足道。

您可以在此处了解有关Yeoman文件系统的更多信息:http://yeoman.io/authoring/file-system.html

答案 1 :(得分:0)

来自mem-fs-editor docs

  

对于来自全球的用户,您可以选择传入   options.globOptions对象以更改其模式匹配行为。

查看选项here

示例:

this.fs.copy("<from path>/**", "<to path>",
  {
    globOptions: {
      ignore: [
        globs to ignore...
      ]
    }
  }
);