详解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 相关文章推荐
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
Jul 10 Javascript
JQuery实现用户名无刷新验证的小例子
Mar 22 Javascript
yepnope.js使用详解及示例分享
Jun 23 Javascript
简介JavaScript中的italics()方法的使用
Jun 08 Javascript
详解javascript实现自定义事件
Jan 19 Javascript
大型JavaScript应用程序架构设计模式
Jun 29 Javascript
详解vue axios中文文档
Sep 12 Javascript
JS验证码实现代码
Sep 14 Javascript
js实现简单分页导航栏效果
Jun 28 Javascript
JS实现盒子拖拽效果
Feb 06 Javascript
js表达式与运算符简单操作示例
Feb 15 Javascript
详解关于Vue单元测试的几个坑
Apr 26 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
一个可查询所有表的“通用”查询分页类
2006/10/09 PHP
PHP程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
symfony2.4的twig中date用法分析
2016/03/18 PHP
php基于curl实现的股票信息查询类实例
2016/11/11 PHP
元素的内联事件处理函数的特殊作用域在各浏览器中存在差异
2011/01/12 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
概述如何实现一个简单的浏览器端js模块加载器
2016/12/07 Javascript
js获取元素下的第一级子元素的方法(推荐)
2017/03/05 Javascript
React路由管理之React Router总结
2018/05/10 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Django+JS 实现点击头像即可更改头像的方法示例
2018/12/26 Python
Python中asyncio模块的深入讲解
2019/06/10 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
Python selenium页面加载慢超时的解决方案
2020/03/18 Python
python获取响应某个字段值的3种实现方法
2020/04/30 Python
Python logging模块原理解析及应用
2020/08/13 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
专科文秘应届生求职信
2013/11/18 职场文书
历史专业个人求职信分享
2013/12/20 职场文书
校本教研工作方案
2014/01/14 职场文书
初中英语演讲稿
2014/04/29 职场文书
预备党员转正考核材料
2014/06/03 职场文书
焦裕禄精神心得体会
2014/09/02 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
广告设计专业毕业生自我鉴定
2014/09/27 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
2015年度房地产工作总结
2015/04/09 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
2015年市场部工作总结
2015/04/30 职场文书
学校运动会通讯稿
2015/07/18 职场文书
mybatis3中@SelectProvider传递参数方式
2021/08/04 Java/Android
Linux在两个服务器直接传文件的操作方法
2022/08/05 Servers