复制Yeoman中一个子文件夹以外的文件夹

时间:2016-11-26 03:48:07

标签: node.js yeoman glob yeoman-generator

我正在研究这个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会起作用吗?

1 个答案:

答案 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
);