我正在研究这个Yeoman项目,我正在将一些文件从模板复制到我的新app目录。
这条线做得很好:
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
方法),但似乎该文件无法立即使用。
无论如何它都无法正常工作。有任何想法吗?宣传copyTpl会起作用吗?
答案 0 :(得分:2)
通过调用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
);