详解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 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
Nov 26 Javascript
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
Apr 18 Javascript
javascript转换字符串为dom对象(字符串动态创建dom)
May 10 Javascript
通过javascript的匿名函数来分析几段简单有趣的代码
Jun 29 Javascript
解析Jquery的LigerUI如何实现文件上传
Jul 09 Javascript
一个JavaScript获取元素当前高度的实例
Oct 29 Javascript
jQuery实现DIV层收缩展开的方法
Feb 27 Javascript
JS不完全国际化&本地化手册 之 理论篇
Sep 27 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
Jan 20 Javascript
详细讲解vue2+vuex+axios
May 27 Javascript
js计算两个日期间的天数月的实例代码
Sep 20 Javascript
基于better-scroll 实现歌词联动功能的代码
May 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
肝肠寸断了解下!盘点史上最伤心的十大动漫
2020/03/04 日漫
PHP数组排序之sort、asort与ksort用法实例
2014/09/08 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
实例讲解php将字符串输出到HTML
2019/01/27 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
jquery获得页面元素的坐标值实现思路及代码
2013/04/15 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
2013/09/29 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
jQuery的one()方法用法实例
2015/01/19 Javascript
javascript实现图片跟随鼠标移动效果的方法
2015/05/13 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
2015/11/30 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
文本溢出插件jquery.dotdotdot.js使用方法详解
2017/06/22 jQuery
React根据宽度自适应高度的示例代码
2017/10/11 Javascript
利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解
2017/11/20 Javascript
Vue弹出菜单功能的实现代码
2018/09/12 Javascript
vue添加class样式实例讲解
2019/02/12 Javascript
layer.open回调获取弹出层参数的实现方法
2019/09/10 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
python判断输入日期为第几天的实例
2018/11/13 Python
介绍一下gcc特性
2015/10/31 面试题
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
班干部演讲稿
2014/04/24 职场文书
销售团队获奖感言
2014/08/14 职场文书
新郎婚礼答谢词
2015/01/04 职场文书
2021年pycharm的最新安装教程及基本使用图文详解
2021/04/03 Python
使用 Apache 反向代理的设置技巧
2022/01/18 Servers
最新动漫情报:2022年7月新番定档超过30部, OVERLORD骨王第四季也在其中噢
2022/05/04 日漫