i'm trying write gulp-based application using main-bower-files. want copy , vendor assets files %build_dir%/assets folder, fonts files should copied in %build_dir%/assets/fonts. without vendor files can done easy via gulp.src.options.base option. can't understand how vendor files. have
gulp.task('assets', ['less'], function() { return gulp.src('src/less/fonts/*', {base: 'src/less'}) .pipe(addsrc('src/assets/**.*')) .pipe(addsrc(mainbowerfiles(/.*woff|woff2|otf|ttf/, {includedev: true}))) .pipe(gulp.dest(builddir + '/assets')); });
but copies vendor fonts %build_dir%/assets. so, ideal case write base regexp parses path vendor fonts , take path before /fonts. how it?
vendor folder has next structure:
/bower_components /lib1 /fonts font1.woff /lib2 /fonts font2.otf /lib3 /fonts font3.ttf
so, ideal case write base regexp parses path vendor fonts , take path before /fonts. how it?
not possible. base
option doesn't support regexes. strings.
you don't need base
option anyway. create 2 streams each own gulp.dest()
. merge streams using merge-stream
:
var merge = require('merge-stream'); gulp.task('assets', ['less'], function() { return merge( gulp.src(['src/less/fonts/*'].concat(mainbowerfiles(/.*woff|woff2|otf|ttf/, {includedev: true}))) .pipe(gulp.dest(builddir + '/assets/fonts')), gulp.src('src/assets/**.*') .pipe(gulp.dest(builddir + '/assets'))); });
this means don't need gulp-add-src
anymore.
Comments
Post a Comment