一、缓慢原因

最近打开博客发现加载的贼慢,于是 F12 查看了一下:发现这两个css加载时间竟然要14s,太离谱了。
通过域名看了下请求地址,看到 CDN 的加速地址是 cdn.jsdelivr.net ,而 cdn.jsdelivr.net 的 CDN 在我国阻断非常严重!

二、解决方法

本文会给出几种加速的解决方案,个人推荐第三种!

方法一:更换 jsdelivr 加速

在HEXO目录下找到 themes 文件夹,进入 butterfly/scripts/events/ 目录下,找到 cdn.js 文件修改文件代码

1
2
3
4
5
6
7
8
9
//修改 jsdelivr 的加速地址

//修改前:
jsdelivr: `https://cdn.jsdelivr.net/npm/${name}${verType}/${min_file}`,

//修改后(挑选一个):
jsdelivr: `https://fastly.jsdelivr.net/npm/${name}${verType}/${min_file}`, //fastly加速
jsdelivr: `https://gcore.jsdelivr.net/npm/${name}${verType}/${min_file}`, //gcore加速
jsdelivr: `https://testingcf.jsdelivr.net/npm/${name}${verType}/${min_file}`, //Cloudflare加速

方法二:添加新的加速源

在HEXO目录下找到 themes 文件夹,进入 butterfly/scripts/events/ 目录下,找到 cdn.js 文件添加文件代码

1
2
3
4
//添加第三方CDN加速
elemecdn: `https://npm.elemecdn.com/${name}@latest/${file}`, //elemecdn加速
bootcdn: `https://cdn.bootcdn.net/ajax/libs/${cdnjs_name}/${version}/${min_cdnjs_file}`, //bootcdn加速
staticfile: `https://cdn.staticfile.org/${cdnjs_name}/${version}/${min_cdnjs_file}`, //七牛云加速

_config.butterfly.yml 全局配置文件中修改 CDN - third_party_provider 选项为 elemecdn/bootcdn/staticfile

方法三:自定义修改

_config.butterfly.yml 全局配置文件中修改 第三方CDN 的加速地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
fancybox_css: https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.css
fancybox: https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/fancybox/3.5.7/jquery.fancybox.min.js
# fireworks:
fontawesome: https://lf6-cdn-tos.bytecdntp.com/cdn/expire-1-M/font-awesome/6.0.0/css/all.min.css
# gitalk:
# gitalk_css:
# giscus:
# instantpage:
# instantsearch:
# katex:
# katex_copytex:
# lazyload:
local_search: https://cdn.staticfile.org/hexo-theme-butterfly/4.9.0/js/search/local-search.min.js
main: https://cdn.staticfile.org/hexo-theme-butterfly/4.9.0/js/main.min.js
# main_css:
# mathjax:
# medium_zoom:
# mermaid:
# meting_js:
pangu: https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/pangu/4.0.7/pangu.min.js
# prismjs_autoloader:
# prismjs_js:
# prismjs_lineNumber_js:
pjax: https://lib.baomitu.com/pjax/0.2.8/pjax.min.js
sharejs: https://lib.baomitu.com/social-share.js/1.0.16/js/social-share.min.js
sharejs_css: https://lib.baomitu.com/social-share.js/1.0.16/css/share.min.css
# snackbar:
# snackbar_css:
translate: https://cdn.staticfile.org/hexo-theme-butterfly/4.9.0/js/tw_cn.min.js
# twikoo:
typed: https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/typed.js/2.0.12/typed.min.js
utils: https://cdn.staticfile.org/hexo-theme-butterfly/4.9.0/js/utils.min.js

三、加速效果

采用 添加新的加速源 效果如下图