mor*_*que 93 arrays glob node.js gulp
我正在尝试传递gulp.src我想要它处理的文件数组.这是阵列的原样.
['bower_components/jquery/jquery.js',
'bower_components/superscrollorama/js/greensock/TweenMax.min.js',
'bower_components/superscrollorama/jquery.superscrollorama.js' ]
Run Code Online (Sandbox Code Playgroud)
我发现gulp.src似乎并不喜欢这样,第三个元素没有通过最终目的地.
当我引入一些像这样的通配符时,我发现一切正常:
['bower_components/**/jquery.js',
'bower_components/**/js/greensock/TweenMax.min.js',
'bower_components/**/jquery.superscrollorama.js' ]
Run Code Online (Sandbox Code Playgroud)
但为什么?与globbing的工作方式有关吗?我用Google搜索但无法找到答案.
也许这不是globbing的预期目的,但它对我来说没有意义,它应该以这种方式工作.任何人都能解释一下吗?
Ove*_*ous 161
传入完整路径数组时,将独立处理每个文件.globbing不知道路径的根在哪里(实际上,它是基于第一个glob猜测的).因此,每个文件都以它包含的文件夹为根,并且相对路径为空.
但是,有一个简单的解决方案.使用键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(...);
Run Code Online (Sandbox Code Playgroud)