我试图向 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' ]
但为什么?与通配符的工作方式有关吗?我用谷歌搜索但找不到。
也许这不是通配符的预期目的,但它应该以这种方式工作对我来说没有意义。任何人都可以透露一些信息吗?
当您传入完整路径数组时,每个文件都会被独立处理。通配符不知道路径的根在哪里(事实上,它是根据第一个通配符来猜测的)。因此,每个文件都以它包含的文件夹为根,相对路径为空。
然而,有一个简单的解决方案。用 key 传递一个对象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(...);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)