2016-11-26 117 views
1

我正在处理这个Yeoman项目,并且正在将一些文件从模板复制到我的新应用程序目录。在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法),但似乎该文件是不可用立即。

反正它不工作。有任何想法吗? Promisifying the copyTpl会起作用吗?

回答

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 
); 
相关问题