2014-01-27 4 views
90

Я пытаюсь передать gulp.src массив файлов, с которыми я хочу иметь дело. Это массив в его нынешнем виде.Почему gulp.src не нравится передавать массив полных путей к файлам?

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

Я нахожу, хотя это gulp.src, кажется, не нравится, что и третий элемент не делает это через в конечный пункт назначения.

Я обнаружил, что все работает нормально, когда я представлю некоторые подстановочные символы, такие как это:

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

Но почему? Что-то связано с тем, как работает глобус? Я googled, но не могу узнать.

Возможно, это не намеченная цель глотания, но для меня не имеет смысла, что он должен работать таким образом. Может ли кто-нибудь пролить свет?

ответ

154

Когда вы передаете массив полных путей, каждый файл обрабатывается независимо. Глобус не знает, где корень пути (на самом деле он догадывается, основываясь на первом глобусе). Поэтому каждый файл находится в папке, в которой он содержится, и относительный путь пуст.

Однако есть простое решение. Передать объект с ключом base в качестве второго аргумента gulp.src, и все будет иметь правильный относительный путь:

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 для '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

такой же вопрос с моей стороны. У меня есть две разные базы для задачи, которую мне нужно запустить –

 Смежные вопросы

  • Нет связанных вопросов^_^