2016-11-26 10 views
1

나는이 Yeoman 프로젝트에서 작업 중이며 일부 파일을 템플릿에서 새 응용 프로그램 디렉토리로 복사하려고합니다.Yeoman의 하나의 하위 폴더를 제외하고 폴더 복사

이 줄은 잘 일을하고있다 :

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

모든 템플릿 폴더에서 제공하고 프로젝트의 루트 폴더로 이동합니다.

누군가 '--nr'플래그를 추가하면 복사 된 하나의 하위 폴더를 제외하고 싶습니다. 따라서 yo my-gen my_app_name --rf은이 하위 폴더가 아니면 모든 것을 복사해야합니다.

! - 글로브 표기법을 시도했지만 작동하지 않습니다. 내가 좋아하는 첫 번째 매개 변수로 일을했다 :

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

그래서 두 번째 매개 변수는 필요하지 않습니다 하위 폴더를 제외하도록 설정

나는 또한 (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 
);