详解node字体压缩插件font-spider的用法


Posted in Javascript onSeptember 28, 2018

需求:

根据甲方要求,使用UI中指定字体

移动端默认显示系统默认字体,非系统默认字体需要自行引入字体包

字体包过大,字体包通常在几MB,严重拖累页面加载速度

分析:

文本内容为固定内容,不需要更新

文本内容大多为常用文字,大多文字用不上

插件:

font-spider
node 安装插件方法:npm install font-spider -g

操作:

安装插件

提取项目文字:
创建一个临时html,将所有项目需要用到的文本放到html中

在htmnl中写入样式代码,举个栗子:

@font-face {
  font-family: 'myfont';
  src: url('./common/assets/font/myfont.ttf');
}
* {
  font-family: 'myfont';
}

在命令提示窗口中,将目录展开到html所在的目录,输入指令:font-spider *.html 即可将该目录下所有html的字体抽离打包。

注意:

如果页面文本内容需要经常更新

如果需要对input表单内容同样应用定制字体请放弃本文章所述方法,可以考虑通过服务端渲染,动态生成字体包,或者,老老实实将完整的字体包引入页面

Javascript 相关文章推荐
javascript对象的property和prototype是这样一种关系
Mar 24 Javascript
js预载入和JavaScript Image()对象使用介绍
Aug 28 Javascript
js加入收藏夹代码(兼容ie/ff/op)
May 16 Javascript
js实现div层缓慢收缩与展开的方法
May 11 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
Jan 05 Javascript
详解Javascript几种跨域方式总结
Feb 27 Javascript
JavaScript验证知识整理
Mar 24 Javascript
JS 设置Cookie 有效期 检测cookie
Jun 15 Javascript
详解Vue-axios 设置请求头问题
Dec 06 Javascript
深入浅析Vue 中 ref 的使用
Apr 29 Javascript
JavaScript实现的滚动公告特效【基于jQuery】
Jul 10 jQuery
JQuery通过键盘控制键盘按下与松开触发事件
Aug 07 jQuery
JS canvas绘制五子棋的棋盘
May 28 #Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 #Javascript
H5+C3+JS实现五子棋游戏(AI篇)
May 28 #Javascript
解决微信小程序防止无法回到主页的问题
Sep 28 #Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
Sep 28 #Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
May 28 #Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
Sep 28 #Javascript
You might like
小偷PHP+Html+缓存
2006/12/20 PHP
PHP获取http请求的头信息实现步骤
2012/12/16 PHP
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
PHP遍历数组的三种方法及效率对比分析
2015/02/12 PHP
php实现中文字符截取防乱码方法汇总
2015/04/29 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
PHP实现一个限制实例化次数的类示例
2019/09/16 PHP
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
Js base64 加密解密介绍
2013/10/11 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
2013/11/22 Javascript
在javascript中实现函数数组的方法
2013/12/25 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
jquery滚动到顶部底部代码
2015/04/20 Javascript
jquery中表单 多选框的一种巧妙写法
2015/09/06 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
基于vue的fullpage.js单页滚动插件
2017/03/20 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
Python实现手写一个类似django的web框架示例
2018/07/20 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
Python tempfile模块生成临时文件和临时目录
2020/09/30 Python
Python爬取网站图片并保存的实现示例
2021/02/26 Python
详解window.open被浏览器拦截的解决方案
2019/07/18 HTML / CSS
SmartBuyGlasses台湾:名牌眼镜,名牌太阳眼镜及隐形眼镜
2017/01/04 全球购物
会计电算化专业个人的自我评价
2013/11/24 职场文书
《骆驼和羊》教学反思
2014/02/27 职场文书
好习惯伴我成长演讲稿
2014/05/21 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
商品陈列协议书
2014/09/29 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
开学第一周值周总结
2015/07/16 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
高三语文教学反思
2016/02/16 职场文书