1. 前言
随着文章数量的增长,search.xml文件越来越大。因此在加载这个文件时,需要的时间很长,而且偶尔会出现加载不出来的情况。
有没有什么办法能够加快加载速度呢?必须是有的,本文就来研究一下。
《Hexo使用Gulp压缩静态资源》一文中,提到search.xml大小为3.5M。今天又看了一下,文件大小变成了4.3M(加载时会压缩传输,大小约为1.3M)。从文中的实验可以得出结论,在文件大小方面,没有什么优化的空间了。
再想优化,就得从网络方面入手:CDN加速。主要参考jsDelivr+Github 使用方法。
更多Hexo相关内容,参考Hexo系列文章。
2. 思路
修改 search.xml 的文件链接,改成cdn的地址。
3. 实现
1、测试jsdelivr链接,search.xml的cdn地址为
https://cdn.jsdelivr.net/gh/voidking/voidking.github.io/search.xml
2、编辑 next/source/js/local-search.js ,如下修改:
1 | // const path = CONFIG.root + searchPath; |
3、本地测试,提交代码,使用修改后的主题进行部署
实测加载速度飞快,4.3M的search.xml能够稳定在2秒内加载完毕,完美。
4. 提高通用性
1、cdn的配置放在 _config.yml
文件中
1 | # Local Search |
2、编辑 next/source/js/local-search.js ,如下修改:
1 | let path = CONFIG.root + searchPath; |