1.主要原因

在Butterfly主题中有时会发现页面速度加载较慢,这时打开 开发者工具发现,是有一些引用资源的引用地址访问太慢导致,解决办法是替换引用资源的地址即可。

image-20240126112504497

2.解决办法

在Butterfly的主题配置文件 _config.yml中,注意不是hexo的配置文件,是主题配置文件,打开拉到最下面,找到CDN这一项,然后找到 option,把加载不出来的文件链接进行替换即可。

详细参数可访问Butterfly官方文档:Butterfly 安裝文檔(四) 主題配置-2 | Butterfly

image-20240126112921553

image-20240126112657506

全局修改

「思路:」全局修改可以将所有引用文件替换成一个服务厂商的,这里介绍替换为elemecdn。

「参考:」06_Hexo-elemecdn 加速 Butterfly 第三方资源 | Mycpen

「步骤:」

  • 修改 themes/butterfly/scripts/events/cdn.js,增加 elemecdn 字段

    1
    elemecdn: `https://npm.elemecdn.com/${name}${verType}/${file}`,

    image-20240126115108241

  • 然后修改 butterfly的主题配置文件,_config.yml ,下拉到最底,找到CDN,修改以下代码。

    1
    2
    3
    4
    5
    # The CDN provider of third party scripts (第三方 js 的 cdn 配置)
    # option: local/jsdelivr/unpkg/cdnjs/custom
    # when set it to local, you need to install hexo-butterfly-extjs
    third_party_provider: elemecdn

  • 这样所有的引用文件默认是 elemecdn 源,速度会更快,如果需要单独设置某个文件参考下面『单独修改』。

单独修改

在option里面找到相应的加载不出来的进行替换,下面我提供一些我的设置,解决了加载速度慢的问题。

详细参考大佬:Butterfly CDN链接更改指南,替换jsdelivr提升访问速度 | 张洪Heo (zhheo.com)

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