详解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滚动图片具体实现
Nov 18 Javascript
12306验证码破解思路分享
Mar 25 Javascript
js库Modernizr的介绍和使用
May 07 Javascript
IE10中flexigrid无法显示数据的解决方法
Jul 26 Javascript
BootStrap创建响应式导航条实例代码
May 31 Javascript
JS实现获取当前URL和来源URL的方法
Aug 24 Javascript
详解RequireJS按需加载样式文件
Apr 12 Javascript
分享Bootstrap简单表格、表单、登录页面
Aug 04 Javascript
vue.js项目打包上线的图文教程
Nov 16 Javascript
vee-validate vue 2.0自定义表单验证的实例
Aug 28 Javascript
Vue项目history模式下微信分享爬坑总结
Mar 29 Javascript
js作用域及作用域链工作引擎
Jul 07 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轻量级数据库操作类Medoo增加、删除、修改、查询例子
2014/07/04 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
基于PHP微信红包的算法探讨
2016/07/21 PHP
php查询及多条件查询
2017/02/26 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
Javascript 更新 JavaScript 数组的 uniq 方法
2008/01/23 Javascript
浏览器打开层自动缓慢展开收缩实例代码
2013/07/04 Javascript
JavaScript学习笔记之Cookie对象
2015/01/22 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
node.js实现复制文本到剪切板的功能
2017/01/23 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
2017/05/08 jQuery
Angular+Node生成随机数的方法
2017/06/16 Javascript
jQuery实现简单QQ聊天框
2020/08/27 jQuery
vue-cli 关闭热更新操作
2020/09/18 Javascript
python使用cookielib库示例分享
2014/03/03 Python
Python脚本实现集群检测和管理功能
2015/03/06 Python
Python闭包实现计数器的方法
2015/05/05 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
2020/05/22 Python
Python如何爬取b站热门视频并导入Excel
2020/08/10 Python
基于python实现坦克大战游戏
2020/10/27 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
2021/02/01 Python
CSS3 中filter(滤镜)属性使用详解
2020/04/07 HTML / CSS
异常和异常类的概念
2014/09/12 面试题
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
最新英语专业学生求职信范文
2013/09/21 职场文书
物业管理应届生求职信
2013/10/28 职场文书
打架检讨书500字
2014/01/29 职场文书
法定授权委托证明书
2014/09/27 职场文书
Oracle11g r2 卸载干净重装的详细教程(亲测有效已重装过)
2021/06/04 Oracle
SQL SERVER实现连接与合并查询
2022/02/24 SQL Server