0%

Hexo本地搜索加速

前言

随着文章数量的增长,search.xml文件越来越大。因此在加载这个文件时,需要的时间很长,而且偶尔会出现加载不出来的情况。

有没有什么办法能够加快加载速度呢?必须是有的,本文就来研究一下。

《Hexo使用Gulp压缩静态资源》一文中,提到search.xml大小为3.5M。今天又看了一下,文件大小变成了4.3M(加载时会压缩传输,大小约为1.3M)。从文中的实验可以得出结论,在文件大小方面,没有什么优化的空间了。

再想优化,就得从网络方面入手:CDN加速。主要参考jsDelivr+Github 使用方法

更多Hexo相关内容,参考Hexo系列文章

思路

修改 search.xml 的文件链接,改成cdn的地址。

实现

1、测试jsdelivr链接,search.xml的cdn地址为
https://cdn.jsdelivr.net/gh/voidking/voidking.github.io/search.xml

2、编辑 next/source/js/local-search.js ,如下修改:

1
2
3
4
// const path = CONFIG.root + searchPath;
const jsdelivr = 'https://cdn.jsdelivr.net/gh/'
const userRepo = 'voidking/voidking.github.io/'
const path = jsdelivr + userRepo + searchPath;

3、本地测试,提交代码,使用修改后的主题进行部署

实测加载速度飞快,4.3M的search.xml能够稳定在2秒内加载完毕,完美。