使用Gulp将所有bower包字体文件复制到构建目录中



我正在使用以下Gulp任务从Font Awesome Bower包中复制所需的字体,这可以很好地工作并输出这样的文件:

应用程序>构建>字体>字体文件

gulp.task('copyfonts', function() {
   gulp.src('./bower_components/components-font-awesome/fonts/**/*.{ttf,woff,eof,svg}')
   .pipe(gulp.dest('./fonts'));
});

我正在尝试重构这个任务,以便它使用**通配符从任何bower包(例如Bootstrap)中移动字体

gulp.task('copyfonts', function() {
   gulp.src('./bower_components/**/fonts/**/*.{ttf,woff,eof,svg}')
   .pipe(gulp.dest('./fonts'));
});

应用程序>构建>字体>

引导>字体>字体文件字体真棒>字体>字体文件

TL;DR

使用我的第二种方法是复制如上所示的文件,复制包文件夹,并将其作为子文件夹使用"字体"文件夹进行移动。有人能告诉我哪里出了问题吗。。。

我来这里参加聚会有点晚了,但对于将来偶然发现这一点的人来说:我相信你的字体glob中有一个拼写错误:eof应该是eot

gulp.src('./bower_components/**/fonts/**/*.{ttf,woff,eof,svg}')

应该是

gulp.src('./bower_components/**/fonts/**/*.{ttf,woff,eot,svg}')

总是依赖包将字体保存在特定文件夹中不是最好的主意,这些事情可能会改变。

可能您缺少字体之前的另一个/**/(一个文件夹级别)。或者为什么所有这些检查,你知道字体会有什么扩展,也许可以添加像**/*.{ttf,woff,eof,svg} 这样的通配符

你有没有试过用gullow-bower主文件来管理它?https://github.com/ck86/main-bower-files

您可以测试此任务我靠它工作

gulp.task('copyfonts', () =>
gulp.src('./app/assets/fonts/*')
    .pipe(gulp.dest('./dist/assets/fonts'))

);

我遇到了同样的问题。在运行我的gulp构建后,我的字体从未成功复制到dest/fonts文件夹。问题出现在我的gull.js文件中,行如下:

function fonts() {
  return src('app/fonts/**/*.{eot,svg,ttf,woff,woff2}')
    .pipe($.if(!isProd, dest('.tmp/fonts'), dest('dist/fonts')));
};

编辑完最后一行后,我的字体成功复制过来了!

function fonts() {
  return src('app/fonts/**/*.{eot,svg,ttf,woff,woff2}')
    .pipe(dest('dist/fonts'));
};

最新更新