gpt4 book ai didi

gulp-iconfont 任务不填充 unicode 值

转载 作者:行者123 更新时间:2023-12-01 12:30:28 28 4
gpt4 key购买 nike

我正在从咕哝声过渡到 gulp 声,我在使用 gulp-iconfont 时遇到了问题用于创建我的图标字体和样式表的库。

依赖关系:

"devDependencies": {
"gulp": "^3.9.0",
"gulp-iconfont": "^5.0.1"
}

Gulpfile:

我有以下 gulfile 设置来构建字体:

var gulp     = require('gulp'),
iconfont = require('gulp-iconfont');

var paths = {
fonts: 'site/fonts/',
icons: 'site/fonts/icons/src/',
styles: 'site/styles/',
scripts: 'site/scripts/'
};

gulp.task('icons', function(){
return gulp.src([paths.icons + '*.svg'])
.pipe(iconfont({
fontName: 'icons',
appendUnicode: true,
formats: ['woff']
}))
.on('glyphs', function(glyphs, options) {
console.log(glyphs, options);
// the value for unicode in the glyphs object is a question mark in a box
})
.pipe(gulp.dest(paths.styles));
});

问题:

当我控制台记录字形对象时,字形对象中的 unicode 值是一个方框内的问号。

enter image description here

我曾尝试从头开始重新安装所有模块,以防万一出现异常情况。

如有任何帮助,我们将不胜感激。

最佳答案

背景故事:

好的 - 所以我深入研究了 svgicons2svgfont 模块并找到了罪魁祸首。周边line 48 of src/metadata.js有以下内容:

metadata.unicode[0] = String.fromCodePoint(options.startUnicode++);

我注意到就在这个模块下面,它正在对生成的字符串进行一些操作,以获取用于附加到文件名的 unicode 值。以下是提取 unicode 值的操作:

metadata.unicode[0].codePointAt(0).toString(16).toUpperCase();

解决方案:

我对 scss 模板文件中的 glyph 变量做了同样的操作,现在我的 unicode 值正确填充了。

$icons: (<% _.each(glyphs, function(glyph) { %>
<%= glyph.name %>: "\<%= glyph.unicode[0].codePointAt(0).toString(16).toUpperCase() %>",<% }) %>
);

这对我来说似乎非常荒谬和令人困惑。更令人沮丧的是,几乎没有关于从这些使用 svgicons2svgfont 的库创建 css 模板的文档。

我希望这能帮助其他同样令人沮丧的人

我会尝试将其变成一个拉取请求,以便将来使用这些模块的人更清楚一些。

关于gulp-iconfont 任务不填充 unicode 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34574840/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com