次のフォルダーとファイル構造があります。
Vendor
bootstrap
css
-bootstrap.css
js
-bootstrap.js
font-awesome
css
-font-awesome.css
nivo-slider
-nivo-slider.css
theme
-theme.css
-theme-animate.css
-theme-blog.css
-theme-responsive.css
-theme-shop.css
css ファイルが次の特定の順序でストリームに追加されるようにしています。
1) bootstrap.css ファイル
src/vendor/bootstrap/css/bootstrap.css
2) 'src/vendor/' サブディレクトリ内の他のすべての css ファイル (順不同) (将来さらに追加する予定なので、あまり具体的にしたくありません)
src/vendor/font-素晴らしい
/css/font-awesome.css src/vendor/nivo-slider/nivo-slider.css
3) 'src/vendor/theme/' ディレクトリ内の特定の css ファイル (順不同)
src/vendor/theme/theme.css
src/vendor/theme/theme-animate.css
src/vendor/theme/theme-blog .css
src/vendor/theme/theme-shop.css
4) 最後に、theme-responsive.css ファイル
src/vendor/theme/theme-responsive.css
これが私の試みです:
var gulp = require('gulp');
var streamqueue = require('streamqueue');
gulp.task('styles', function() {
var stream = streamqueue({ objectMode: true });
// file that needs to be at the beginning of the concatenated css file
stream.queue(
gulp.src('src/vendor/**/bootstrap.css')
);
//Now I want to add most of the remaining files, except for the bootstrap.css file that was already added as well as any files with the word theme at the beginning of it
stream.queue(
gulp.src('src/vendor/**/*.css', '!src/vendor/**/bootstrap.css', '!src/vendor/**/theme*.css')
);
//Now I would like to add the files that begin with the word theme at the beginning, except for theme-responsive.css
stream.queue(
gulp.src('src/vendor/theme/**/*.css', '!src/vendor/theme/theme-responsive.css')
);
//Now I would like to add the theme-responsive.css file
stream.queue(
gulp.src('src/vendor/theme/theme-responsive.css')
);
return stream.done()
.pipe(concat("app.css"))
.pipe(gulp.dest('public/css/'))
});
残念ながら、現在このスクリプトを実行すると、無視すべき bootstrap.css およびその他のファイルが複数回追加されています。gulp を使用してファイルを無視するにはどうすればよいですか?