sfnttool.jar 优化网站自带字体包
一些网站会使用自己专属的字体包,英文的字体包一般很小
但是中文的字体包一般会比较大5兆以上,10兆左右,但是其中的字体我们又不是全都会使用,
针对移动端流量进行优化的方案就是,从完整字体包中抽取使用过的文字,形成简化的字体包
下载链接 自用(版本可能滞后,但能用)
shell 命令 java -jar sfnttool.jar 文件路径 -s '字体内容' 原始ttf文件路径 裁剪后ttf文件路径
那么如何针对我们的网站进行字体库优化呢,这就用到了上一篇内容写到的爬虫插件了
具体思路是爬虫爬自己的网站,把所有的文字爬出来,形成去重字符串,再通过 sfnttool.jar 简化出字体包
Pupp.js
const puppeteer = require('puppeteer');
puppeteer.launch().then(async browser => {
const page = await browser.newPage();
var fontstr = '';
await page.goto('https://www.baidu.com');
await page.waitForTimeout(1000);
let content = await page.content();
// const hrefs = await page.evaluate(() => Array.from(document.body.querySelectorAll('a[href]'), ({ href }) => href)); // 有子页面的话拿到链接去迭代 自由发挥
browser.close();
var info = Array.from(new Set(content.split(''))); // 拿到 document 的内容并去重
var str = info.join('').replace(/[^\u4e00-\u9fa5]/gi,""); // 筛选出纯文字
console.log(str); // 这些就是我们使用到的文字,建议在最后增加中文标点符号后 以参数方式 代入上面 java 命令 生成压缩后的字体库,一般都在几百KB左右
})

浙公网安备 33010602011771号