使用Gulp远程导入字体



所以我注意到我当前的Gulp设置没有导入远程字体,比如google字体。在我的main.scss文件中我有:

@import url(https://fonts.googleapis.com/css?family=Lato:400,100,100italic,300,300italic,700,700italic,400italic,900,900italic);

编译后,它看起来像这样:

@font-face{font-family:Lato;font-style:normal;font-weight:100;src:local('Lato Hairline'),local('Lato-Hairline'),url(../../fonts.gstatic.com/s/lato/v11/zJY4gsxBiSo5L7tNutxFNg.ttf) format('truetype')}

我使用gulp-minify-css使用干净的css。我知道可能需要做一些事情才能使远程导入正常工作,但是阅读文档给我留下了更多的问题而不是答案。下面是我的gulp文件中处理Sass/CSS缩小的部分:

// Minimize CSS
gulp.task('minify-css', function() {
  return gulp.src('css/src/*.css')
    .pipe(minifyCss({
        compatibility: 'ie8',
        aggressiveMerging: false
        }))
    .pipe(gulp.dest('css/'));
});

任何帮助将不胜感激!谢谢。

您的问题是由于缺乏导入css文件的sass。您需要复制css文件并将其重命名为*。scss文件。

说明

您需要安装并要求gulp-rename: https://www.npmjs.com/package/gulp-rename

在你的例子中,你也可以考虑使用gulp-google-webfonts: https://www.npmjs.com/package/gulp-google-webfonts

fonts.list:

Lato:400,100,100italic,300,300italic,700,700italic,400italic,900,900italic

gulpfile.js:

var gulp = require('gulp');
var googleWebFonts = require('gulp-google-webfonts');
var options = { };
gulp.task('fonts', function () {
    return gulp.src('./fonts.list')
        .pipe(googleWebFonts(options))
        .pipe(gulp.dest('out/fonts'))
        ;
    });
gulp.task('default', ['fonts']);

最新更新