bowerパッケージからいくつかのopenui5リソースファイルを出力フォルダにコピーしたいと思います。それらはすべて共通の接頭辞(openui5-)を持っています。彼らはすべて "リソース"と呼ばれるサブフォルダを持っています。そのサブフォルダからそのコンテンツを私の出力の1つの一般的な "resources"フォルダにコピーしたいと思います。Gulp srcは再帰コピー用のglobパスの一部を無視します
私はgulpでそれらをコピーするためにグロブを使用したいと思います。今の私は、明示的に各パスを与えるために持っている
['bower_components/openui5-sap.m/resources/**/*',
'bower_components/openui5-sap.ui.core/resources/**/*',
'bower_components/openui5-themelib_sap_belize/resources/**/*']
私はこのようなパターンを使用したい:そう、
'bower_components/openui5-*/resources/**/*'
しかし、私はこれを行う場合、私はあまりにも、コピーされた完全なモジュール名を取得します私はデフォルトのgulp.srcあたりの(モジュール名である)最初のグロブを取り、そこからの再帰的な構造を作るためであることを理解するようになったとして
out/resources/
+ -- openui5-sap.m/resources/...
+ -- openui5-sap.ui.core/resources/...
+ -- openui5-themelib_sap_belize/resources/...
:私のリソースフォルダは、次のようになります。
出力のグロボパターンの一部を無視する方法や、別のグロブを使用して出力パスをトリミングする方法はありますか?
私は遊んで何か解決策を探しましたが、何も見つかりませんでした。
gulp.task('copyui5resources', function() {
gulp.src('bower_components/openui5-*/**/*')
.pipe(rename({ dirname: '' }))
.pipe(gulp.dest('out/resources'));
});
とベースオプションを使用すると、いずれか助けていません:
一気-名前の変更は、階層全体を平らにするようです。
gulp.task('copyui5resources', function() {
gulp.src('bower_components/openui5-*/**/*', {base: 'bower_components/openui5-*'})
.pipe(gulp.dest('out/resources'));
});
これまでの入力フォルダ構造と私のgulpタスクのスクリーンショットです。ご協力ありがとうございました!