2016-11-26 5 views
1

私はこのYeomanプロジェクトに取り組んでおり、テンプレートから新しいアプリケーションディレクトリにいくつかのファイルをコピーしています。Yeomanの1つのサブフォルダ以外のフォルダをコピーする

この行はよく仕事をしている:

this.fs.copyTpl(this.templatePath(''), 
    this.destinationPath(this.project_name_slugified+'/')); 

すべてがテンプレートフォルダから来て、プロジェクトのルートフォルダに移動します。

しかし、誰かがフラグ '--nr'を追加すると、コピーされた1つのサブフォルダを除外したいと思います。したがって、yo my-gen my_app_name --rfは、このサブフォルダ以外のすべてをコピーする必要があります。

!-glob表記を試しましたが、動作しません。私のような最初のパラメータとして何かをした:

[this.templatePath('**'),this.templatePath('!subfolder/subfolder_to_be_excluded')] 

だから、2番目のパラメータは必要ありませんサブフォルダを除外するように設定した

私も(deleteメソッド)を削除しようとしたが、ファイルが使用できないようですすぐに。

とにかく動作しません。何か案は? 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 
); 
関連する問題