如何使用 fs.copyTpl 忽略 Yeoman 中的文件

How to ignore files in Yeoman with fs.copyTpl

如何忽略文件?我想排除任何子目录中以 _ 开头的所有文件。我对这两种方法都没有成功:

this.fs.copyTpl(
   this.templatePath('basicFiles/'),
   this.destinationPath(''),
   answers,
   {ignore:"_*.*"}
);

this.fs.copyTpl(
  [!*.*,this.templatePath('basicFiles/')],
  this.destinationPath(''),
  answers
);

更一般,希望将每个 basic/_exmaple.json 合并(深拷贝)到 additionalConfig/example.json 到 desitnationPaht/exmaple.json(合并)。

欢迎每个想法:)。

对于 fs.copyTpl 你的 {ignore:"_*.*"} 需要在 5th 参数对象中(如 syntax 所说)和 globOptions 键:

this.fs.copyTpl(
  this.templatePath('**/*'), // from
  this.destinationRoot(),    // to
  {},  // context            // not here
  {},  // templateOptions    // not here
  { globOptions: {ignore:"_*.*"} } // < but here
)

{dot: true} 和其他此类选项相同。