jsdelivr-auto-fallback icon indicating copy to clipboard operation
jsdelivr-auto-fallback copied to clipboard

基于hexo-theme-next搭建的网站如何添加

Open PGzxc opened this issue 3 years ago • 12 comments

项目地址:hexo-theme-next,之前在_config.next.yml 配置项vendors:internal: jsdelivr配置jsdelivr,如果迁移如何配置,谢谢

PGzxc avatar May 20 '22 23:05 PGzxc

@PGzxc next theme 不是很熟悉,我看 https://github.com/next-theme/hexo-theme-next/pull/507 这里有个相关讨论的,看似修改 _config.xml 文件,可以切换到其他 CDN。如果可行,我建议使用其他 CDN,因为 jsdelivr-auto-fallback 这个是先检测 cdn.jsdelivr.net,在切换到 gcore.jsdelivr.net,肯定会比直接连其他 CDN 慢的。

但是我看你的博客的文章里用到的图片,是在 cdn.jsdelivr.net 上面的,如果不想修改所有的内容,jsdelivr-auto-fallback 这个可以派上用场。具体如何修改,我先研究一下 next theme,再回复吧。

请先试着把 vendors 换成其他 CDN 吧。

PipecraftNet avatar May 21 '22 02:05 PipecraftNet

我使用 Service Workers 写了一个与 jsdelivr-auto-fallback 类似功能的项目 SW-Racing,你可以试试这个,也许会对你有帮助😁

lete114 avatar May 26 '22 06:05 lete114

这是demo测试: https://lete114.github.io/SW-Racing/

lete114 avatar May 26 '22 06:05 lete114

@Lete114 用 Service Workers 是个好的解决方法。

PipecraftNet avatar May 26 '22 09:05 PipecraftNet

@Lete114 用 Service Worker 的还有这个项目,https://github.com/EtherDream/freecdn 可以参考下。

PipecraftNet avatar May 26 '22 09:05 PipecraftNet

@Lete114 用 Service Worker 的还有这个项目,https://github.com/EtherDream/freecdn 可以参考下。

这个项目在很早前我就知道了,我觉得这个太杂了(东西太多),看都看不懂怎么用,于是我就自己写了

感兴趣的可以看我这篇文章 使用Service Worker优选请求资源,文章结尾出的sw.js于我博客同步使用同一个,实时更新我最新的sw修改

lete114 avatar May 26 '22 10:05 lete114

freecdn 我是真的看不明白使用方法

lete114 avatar May 26 '22 11:05 lete114

freecdn 我是真的看不明白使用方法

确实,我也看不明白,东西太多了

PipecraftNet avatar May 27 '22 08:05 PipecraftNet

感兴趣的可以看我这篇文章 使用Service Worker优选请求资源,文章结尾出的sw.js于我博客同步使用同一个,实时更新我最新的sw修改

你的博客有用到 SW-Racing 吧?为什么不用梯子加载不了评论,用梯子才能看到评论。 请确认下。

PipecraftNet avatar May 27 '22 08:05 PipecraftNet

感兴趣的可以看我这篇文章 使用Service Worker优选请求资源,文章结尾出的sw.js于我博客同步使用同一个,实时更新我最新的sw修改

文章写的很详细 👍 分享到了我的博客收藏网站 - 聚客盒

PipecraftNet avatar May 27 '22 09:05 PipecraftNet

你的博客有用到 SW-Racing 吧?为什么不用梯子加载不了评论,用梯子才能看到评论。 请确认下。

谢谢提醒,我的博客sw注册代码似乎出现了点问题

lete114 avatar May 27 '22 11:05 lete114

@PGzxc

写了 hexo-filter-jsdelivr-auto-fallback 插件,可以自动添加。

但仍有些问题,Next Theme 用到了 motion.js, 因为 cdn.jsdelivr.net 域名下的 JS 一直处在 pending 状态,导致页面一直等待 onload 事件触发,页面无法渲染。

建议 JS lib 切换到其他 CDN (参考 https://github.com/next-theme/hexo-theme-next/pull/507 )。然后安装 hexo-filter-jsdelivr-auto-fallback 插件,可以使 cdn.jsdelivr.net 域名下的图片正常显示。无需把图片的域名都替换成 fastly

或者试一下 SW-Racing

PipecraftNet avatar May 31 '22 08:05 PipecraftNet