gulp globbing- 디렉토리 아래의 모든 것을 보는 방법


108

이것은 아주 바보 같은 질문이지만, 난 정말 만족스러운 답변을 찾을 수 없어 : 어떻게 선택 globbing을 꿀꺽 사용합니까 모든 파일을 모두 특정 디렉토리 아래의 하위 디렉토리를?

난 노력 했어:

'./src/less' './src/less/' './src/less/*'

그들 중 누구도 작동하지 않는 것 같습니다.

답변:


178

모든 디렉토리 아래의 모든 파일에 대한 패턴은 일반적으로 ./src/less/**/*.*또는 ./src/less/**/*이며 둘 중 하나가 작동합니다.

일반적으로 시스템 파일이나 기타 정크를 잡는 것을 방지하려면 특정 파일 확장자를 일치시키는 것이 좋습니다. 이 경우 파일 ./src/less/**/*.less에 대해서만 수행 .less하거나 및 파일 .src/less/**/*.{less,css}모두에 대해 수행 할 수 있습니다..less.css

Grunt 웹 사이트 에는 대부분의 미니 매치 글롭에 대한 꽤 좋은 참고 자료가 있습니다. (Grunt와 gulp 는 모두 노드와 관련된 거의 모든 것을위한 glob 라이브러리이기 때문에 minimatch를 사용 합니다.)

꿀꺽 꿀꺽 또는 미니 매치가 자신의 완전한 문서를 가지고 있으면 좋겠지 만 그것은 당신을위한 오픈 소스입니다.


Grunt 웹 사이트를 확인하겠습니다. 감사합니다. 시스템 파일에 대한 요점은 확실히 의미가 있습니다. 조금 느슨해지기를 바라는 이유는 시계 용으로 사용하고 있기 때문입니다.
JEHAN

1
아직 학습하지 않았다면 gulp-watch새 파일 감시도 처리 할 수 ​​있으므로 파일 감시 모듈을 배우고 사용하는 것이 좋습니다 . 설정하는 데 약간의 작업이 필요하지만 그만한 가치가 있습니다. IMO.
OverZealous

8
향후 참조를 위해 globtester.com 에서 도구를 사용합니다. 미니 매치를 사용합니다.이 도구는 gulp 가 node-glob을 통해 사용합니다. "glob은 node-glob 구문을 참조하거나 직접 파일 경로 일 수 있습니다." (출처 : github.com/gulpjs/gulp/blob/master/docs/API.md ) "[node-glob]은 미니 매치 라이브러리를 사용하여 매칭을 수행합니다."(출처 : github.com/isaacs/node-glob )
다니엘 Dropik

1

'./src/less/**'작동하는 것 같습니다. 그래도 누군가가 모든 globbing 명령에 대한 더 명확한 목록을 가지고 있다면 귀하의 대답을 받아들이고 gulp 문서에 추가하게되어 기쁩니다. 지금 당장은 gulp의 하위 모듈 중 하나에 대한 문서로 이동해야하며, 그러면 맨 페이지 목록이 제공됩니다. 특히 gulp를 사용하는 디자이너의 경우 직접 참조하는 것이 좋습니다.


1
gulp.watch('./build/**', ...)부모 디렉터리 (예 : ./.git/)의 일부 변경 사항에 대해 트리거하는 것 같습니다 . 끝에 추가 / *를 추가하면 해당 문제를 피할 수 있습니다 gulp.watch('./build/**/*', ...).
medmunds

@medmunds 비슷한 결과를 찾았습니다. * 또는 특정 * .less로 끝나는 glob HAS. *. *는 확장자가없는 항목을 놓치기 때문에 작동하지 않습니다. 을 보인다 . POSIX 스타일 매칭을 사용하여 매칭; 파일에 '마침표'가 없으면 일치하지 않습니다. 아마도 there_ought_ . . Windows의 via DIR은 'LICENSE'와 일치하지만 불행히도 ln *.*그렇지 않습니다. ' . ' 슬프다. *우리가 필요한 것을하는 것 같습니다. . glob은 아마도 개발자가 제 생각에 실제로 의도 한 것이 아니며 경고가 필요할 수 있습니다.
Andrew T Finnell

@filthy_wizard- **재귀 적입니다.
스티븐 벤 티미 글 리아
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.