详解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中的对象和数组的应用技巧
Jan 07 Javascript
JavaScript 类似flash效果的立体图片浏览器
Feb 08 Javascript
jQuery表单验证插件formValidator(改进版)
Feb 03 Javascript
基于jquery的图片轮播 tab切换组件
Jul 19 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
Mar 15 Javascript
jQuery中 attr() 方法使用小结
May 03 Javascript
代码分析jQuery四种静态方法使用
Jul 23 Javascript
javascript+canvas实现刮刮卡抽奖效果
Jul 29 Javascript
完美的js div拖拽实例代码
Sep 24 Javascript
Javascript的动态增加类的实现方法
Oct 20 Javascript
JavaScript事件处理程序详解
Sep 19 Javascript
详解JS预解析原理
Jun 16 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
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
2014/04/25 PHP
PHP DB 数据库连接类定义与用法示例
2019/03/11 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
2019/11/09 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
Javascript - HTML的request类
2007/01/09 Javascript
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
jquery 淡入淡出效果的简单实现
2014/02/07 Javascript
JavaScript如何获取数组最大值和最小值
2015/11/18 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
jQuery代码实现表格中点击相应行变色功能
2016/05/09 Javascript
详解浏览器缓存和webpack缓存配置
2018/07/06 Javascript
js实现点击上传图片并设为模糊背景
2020/08/02 Javascript
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
Python程序中用csv模块来操作csv文件的基本使用教程
2016/03/03 Python
python制作企业邮箱的爆破脚本
2016/10/05 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
Python线程创建和终止实例代码
2018/01/20 Python
python 自定义对象的打印方法
2019/01/12 Python
Pycharm简单使用教程(入门小结)
2019/07/04 Python
python 删除excel表格重复行,数据预处理操作
2020/07/06 Python
KLOOK客路:发现更好玩的世界,预订独一无二的旅行体验
2016/12/16 全球购物
学校万圣节活动方案
2014/02/13 职场文书
销售主管竞聘书
2014/03/31 职场文书
团支部推优材料
2014/05/21 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
演讲开场白台词大全
2015/05/29 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
如何获取numpy array前N个最大值
2021/05/14 Python
详解Redis主从复制实践
2021/05/19 Redis