2014-01-27 4 views
90

gulp.src에 처리 할 파일 배열을 전달하려고합니다. 이것은 배열입니다. 그 gulp.src가 좋아하지 않는 것 그리고 세 번째 요소는 최종 목적지로를 통해하지 않습니다하지만gulp.src가 파일의 전체 경로 배열을 전달하는 것을 좋아하지 않는 이유는 무엇입니까?

['bower_components/jquery/jquery.js', 
'bower_components/superscrollorama/js/greensock/TweenMax.min.js', 
'bower_components/superscrollorama/jquery.superscrollorama.js' ] 

내가 찾는거야.

['bower_components/**/jquery.js', 
'bower_components/**/js/greensock/TweenMax.min.js', 
'bower_components/**/jquery.superscrollorama.js' ] 

그런데 왜 :

나는이 같은 일부 와일드 카드 문자를 소개 할 때 모든 것이 잘 작동 것으로 나타났습니다? 둥글게 움직이는 방식과 관련이 있습니까? 나는 봤지만 찾아 낼 수 없다.

어쩌면 이것이 글 로빙의 의도 된 목적은 아니지만이 방식으로 작동해야한다는 것은 나에게 의미가 없습니다. 누구든지 약간의 빛을 비추 수 있습니까?

답변

154

전체 경로 배열을 전달하면 각 파일이 독립적으로 처리됩니다. globbing은 경로의 루트가 어디인지는 알지 못합니다 (실제로는 첫 번째 glob을 기반으로합니다). 따라서 각 파일은 포함 된 폴더에 뿌리를두고 상대 경로는 비어 있습니다.

그러나 쉬운 해결책이 있습니다. gulp.src에 두 번째 인수로 키 base을 가진 개체를 전달하고, 모든 것이 올바른 상대 경로가됩니다 또한

return gulp.src(['bower_components/jquery/jquery.js', 
       'bower_components/superscrollorama/js/greensock/TweenMax.min.js', 
       'bower_components/superscrollorama/jquery.superscrollorama.js' ], 
      {base: 'bower_components/'}) 
     .pipe(...); 
+20

:이 모든에 꿀꺽의 문서에 언급되지 않은, 당신은을 통해 클릭해야 [ docs for'glob-stream'] (https://github.com/wearefractal/glob-stream)을 참고하십시오. – OverZealous

+6

경로의 경로가 모두 동일한 기본 경로가 아닌 경우 어떻게해야합니까? 그 특정 시나리오에 대해 비슷한 질문을 열었습니다 : [gulp src가 필수 json 파일의 배열 값을 읽지 못함] (http://stackoverflow.com/questions/31579421/gulp-src-not-reading-required-json-files-array - 값) – Andre

+1

내 질문과 같은 질문. 실행해야 할 작업을위한 두 개의 다른 기반이 있습니다 –