详解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 相关文章推荐
判断JS对象是否拥有某种属性的两种方式
Dec 02 Javascript
Javascript浅谈之引用类型
Dec 18 Javascript
使用mouse事件实现简单的鼠标经过特效
Jan 30 Javascript
js判断文本框输入的内容是否为数字
Dec 23 Javascript
Active控件问题小结(附解决办法)
Jun 09 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
Aug 05 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
Oct 14 Javascript
bootstrap modal弹出框的垂直居中
Dec 14 Javascript
JS设计模式之访问者模式定义与用法分析
Feb 05 Javascript
jQuery实现的页面详情展开收起功能示例
Jun 11 jQuery
详解如何使用koa实现socket.io官网的例子
Nov 04 Javascript
vue组件之间数据传递的方法实例分析
Feb 12 Javascript
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根据分类合并数组的方法实例详解
2013/11/06 PHP
php自动获取关键字的方法
2015/01/06 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
BOOM vs RR BO5 第一场 2.14
2021/03/10 DOTA
jquery实现类似淘宝星星评分功能有截图
2014/09/15 Javascript
jquery 插件实现瀑布流图片展示实例
2015/04/03 Javascript
EasyUI闪屏EasyUI页面加载提示(原理+代码+效果图)
2016/02/21 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
2016/08/01 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
jQuery实现联动下拉列表查询框
2017/01/04 Javascript
解决npm管理员身份install时出现权限的问题
2018/03/16 Javascript
浅谈Angular 观察者模式理解
2018/11/01 Javascript
js尾调用优化的实现
2019/05/23 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
Node.js实现简单管理系统
2019/09/23 Javascript
ant design中upload组件上传大文件,显示进度条进度的实例
2020/10/29 Javascript
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
Python装饰器decorator用法实例
2014/11/10 Python
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
2016/07/01 Python
浅谈Python的垃圾回收机制
2016/12/17 Python
Python中正则表达式详解
2017/05/17 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
人脸识别经典算法一 特征脸方法(Eigenface)
2018/03/13 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
Django中的forms组件实例详解
2018/11/08 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
python归并排序算法过程实例讲解
2020/11/04 Python
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
德国排名第一的主题公园门票网站:Attraction Tickets Direct
2019/09/09 全球购物
销售主管的自我评价分享
2014/01/03 职场文书
中秋节礼品促销方案
2014/02/02 职场文书
优秀大学生求职自荐信范文
2014/04/19 职场文书
医院安全生产月活动总结
2014/07/05 职场文书
2015年世界粮食日演讲稿
2015/03/20 职场文书