我正在开发这个 Yeoman 项目,并将一些文件从模板复制到我的新应用程序目录。
这条线做得很好:
this.fs.copyTpl(this.templatePath(''),
this.destinationPath(this.project_name_slugified+'/'));
所有内容都来自模板文件夹并转到项目的根文件夹。
但是当有人添加标志“--nr”时,我想排除一个已复制的子文件夹。所以 yo my-gen my_app_name --rf
应该复制所有内容,除非这个子文件夹。
我尝试了 !-glob 表示法,但它不起作用。我做了类似第一个参数的事情:
[this.templatePath('**'),this.templatePath('!subfolder/subfolder_to_be_excluded')]
因此设置第二个参数以排除不需要的子文件夹
我也尝试过删除(delete
方法),但似乎该文件不能立即可用。
无论如何,它都不起作用。有任何想法吗? promise copyTpl 会起作用吗?
最佳答案
通过调用 this.templatePath('!subfolder/subfolder_to_be_excluded')
,您最终会生成一个损坏的路径:/absolute/path/!subfolder/etc
。
鉴于您不需要绝对路径来应用过滤,因此无需使用 this.templatePath
即可使用它。
this.fs.copyTpl(
[
this.templatePath('**'),
'!subfolder/subfolder_to_be_excluded'
],
this.destinationPath(this.project_name_slugified + '/'),
templateContext
);
关于node.js - 在 Yeoman 中复制除一个子文件夹之外的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40814713/