为什么gulp.src不喜欢被传递给文件的完整path数组?
我试图通过gulp.src我想要处理的文件数组。 这是arrays。
['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' ]
但为什么? 与globbing方式有什么关系? 我GOOGLE了,但无法find。
也许这不是globbing的预期目的,但对我来说,它应该以这种方式工作是没有意义的。 任何人都可以点亮一下吗?
当你传递完整path数组时,每个文件都是独立处理的。 globbing不知道path的根在哪里(实际上,它猜测基于第一个glob)。 因此,每个文件都是在它所包含的文件夹中生成的,相对path是空的。
但是,有一个简单的解决scheme。 将密钥base
的对象作为gulp.src
的第二个参数gulp.src
,并且所有内容都将具有正确的相对path:
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(...);