【问题标题】:Remote Import Fonts with Gulp使用 Gulp 远程导入字体
【发布时间】:2015-10-23 17:43:28
【问题描述】:

所以我注意到我当前的 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,它使用了 clean-css。我知道您可能需要做一些事情才能使远程导入正常工作,但是阅读文档给我留下了更多问题,然后是答案。这是我处理 Sass/CSS 缩小的 gulp 文件的一部分:

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

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

【问题讨论】:

  • 找到解决方案了吗?
  • @Abhishek 不,自从这篇文章以来,我们已经切换到 gulp-cssnano,并改变了我们将字体排入队列的方式,因此它不再相关。

标签: javascript css gulp clean-css gulp-clean-css


【解决方案1】:

您的问题是由于缺少 sass 来导入 css 文件。您需要复制 css 文件并将其重命名为 *.scss 文件。 scss文件可以正确导入。

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

在您的示例中,您还可以考虑使用 gulp-google-webfonts:https://www.npmjs.com/package/gulp-google-webfonts

字体列表:

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']);

【讨论】:

  • 谢谢,我们现在改变了在项目中管理字体的方式,但gulp-google-webfonts 肯定会很有用。感谢您的回答。
猜你喜欢
  • 2015-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-14
  • 1970-01-01
  • 2018-08-18
相关资源
最近更新 更多