前端小白爬坑记(三)字体优化——字蛛

516 阅读2分钟

有些具有风格的网站为了美观性,设计都会加入两三种特殊字体。而这些字体加起来得有个20MB-60MB多,严重影响了网页性能。

即便使用一种特殊字体,页面加载时特殊字体也不会及时替换,造成页面加载完之后,字体还没有替换成特殊字体,客户开始浏览时,默认字体突然变成特殊字体,影响视觉体验。

第一种解决办法就是将特殊字体在切图时转换成图片,个人认为适合有小部分特殊字体的页面,用是十多KB或几十KB来代替特殊字体。

对于页面内容更新频繁,大面积内容在使用特殊字体时,文字转为图片对于后期的维护很不方便。

这里只能使用字蛛进行字体优化,都是基于大佬们的博客,才让我解决了这个问题,这里记录下。

1.安装node.js和npm扩展

2.安装font-spider

npm install font-spider -g

安装之后执行:font-spider

安装成功后会有如图显示:

image.png

3.在css文件中引入特殊字体

@font-face { font-family: 'Ali'; src: url('../font/Alibaba-PuHuiTi-Regular_0.ttf'); }

@font-face { font-family: 'jht'; src: url('../font/jht.ttf'); }

我这里引用了两种,注意的是用字蛛进行优化,只支持ttf格式,其他的不行。如果设计给的字体不是ttf格式,需要转换下格式。

4.字体优化

项目位置放在桌面

在cmd命令里进入项目,执行命令:font-spider ./index.html

image.png

优化成功后会有如图提示:

image.png

两种字体都压缩好了,font文件可以查看下

image.png

原来的特殊字体会放在.font-spider文件中,我这里两种字体加起来有20多MB

image.png

压缩成功的字体只有几KB或几十KB,根据页面用到的字有多少决定的。

image.png

整体压缩完之后删除.font-spider文件就好了,如果后期内容进行更改,要放入特殊字体。 直接进行压缩的话会报错,压缩失败。

这里有font-spider的具体操作:github.com/aui/font-sp…

如果还有其他字体优化的方案请偷偷告诉我,谢谢。