详解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操作Select 简单方便 一个js插件搞定
Nov 12 Javascript
深入解析contentWindow, contentDocument
Jul 04 Javascript
Jquery 动态循环输出表格具体方法
Nov 23 Javascript
node.js中的fs.fchown方法使用说明
Dec 16 Javascript
Javascript基础教程之while语句
Jan 18 Javascript
JQuery菜单效果的两个实例讲解(3)
Sep 17 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
Mar 03 Javascript
Vue Ajax跨域请求实例详解
Jun 20 Javascript
JS实现加载时锁定HTML页面元素的方法
Jun 24 Javascript
vue父组件向子组件动态传值的两种方法
Nov 11 Javascript
JQuery基于FormData异步提交数据文件
Sep 01 jQuery
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 Vue.js
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正则过滤html标签、空格、换行符的代码(附说明)
2010/10/25 PHP
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
php取得字符串首字母的方法
2015/03/25 PHP
joomla组件开发入门教程
2016/05/04 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
2020/09/17 PHP
JavaScript 学习笔记(五)
2009/12/31 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
jquery cookie实现的简单换肤功能适合小网站
2013/08/25 Javascript
indexOf 和 lastIndexOf 使用示例介绍
2014/09/02 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
详解js的事件代理(委托)
2016/12/22 Javascript
使用webpack3.0配置webpack-dev-server教程
2018/05/29 Javascript
JS使用对象的defineProperty进行变量监控操作示例
2019/02/02 Javascript
jQuery实现王者荣耀手风琴效果
2020/01/17 jQuery
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
vue-video-player视频播放器使用配置详解
2020/10/23 Javascript
使用Python标准库中的wave模块绘制乐谱的简单教程
2015/03/30 Python
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
详解python实现线程安全的单例模式
2018/03/05 Python
python如何读写csv数据
2018/03/21 Python
python实现智能语音天气预报
2019/12/02 Python
pytorch常见的Tensor类型详解
2020/01/15 Python
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
德购商城:德国进口直邮商城
2017/06/13 全球购物
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
环境工程专业个人求职信
2013/12/05 职场文书
办加油卡单位介绍信
2014/01/09 职场文书
年检委托书
2014/08/30 职场文书
css display table 自适应高度、宽度问题的解决
2021/05/07 HTML / CSS
如何理解及使用Python闭包
2021/06/01 Python
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android
nginx之内存池的实现
2022/06/28 Servers