Gulp.srcに、処理したいファイルの配列を渡そうとしています。これは、そのままの配列です。
['bower_components/jquery/jquery.js',
'bower_components/superscrollorama/js/greensock/TweenMax.min.js',
'bower_components/superscrollorama/jquery.superscrollorama.js' ]
Gulp.srcはそれを好まないようで、3番目の要素は最終目的地に到達しません。
次のようなワイルドカード文字を導入すると、すべてが正常に機能することがわかりました。
['bower_components/**/jquery.js',
'bower_components/**/js/greensock/TweenMax.min.js',
'bower_components/**/jquery.superscrollorama.js' ]
しかし、なぜ?グロビングが機能する方法と関係がありますか?私はグーグルで調べましたが、見つけられません。
たぶん、これはグロビングの意図された目的ではないかもしれませんが、それがこのように働くべきであると私には意味がありません。誰でも光を当てることができますか?
フルパスの配列を渡すと、各ファイルは個別に処理されます。グロビングは、パスのルートがどこにあるかを知りません(実際、最初のグロブに基づいて推測します)。したがって、各ファイルは含まれるフォルダーをルートとし、相対パスは空です。
ただし、簡単な解決策があります。キーbase
をgulp.src
の2番目の引数としてオブジェクトに渡すと、すべてが正しい相対パスになります。
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(...);