我正在尝试使用 main-bower-files 编写基于 gulp 的应用程序。我想将我和供应商的所有资产文件复制到%build_dir%/assets文件夹,但字体文件应该复制到%build_dir%/assets/fonts。如果没有供应商文件,可以通过gulp.src.options.base选项轻松完成。但我不明白如何处理供应商文件。我现在有
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'));
});
但它将供应商字体复制到%build_dir%/assets。因此,理想的情况是将base编写为正则表达式,解析供应商字体的路径并获取/fonts之前的所有路径。怎么做?
供应商文件夹具有以下结构:
/bower_components
/lib1
/fonts
font1.woff
/lib2
/fonts
font2.otf
/lib3
/fonts
font3.ttf