博客资源托管方案

博客资源托管方案

资源托管方案

在搭建博客时,通常会涉及到一些静态资源的托管问题,比如图片、视频、音频等。这里列出几种常见的资源托管方案,供参考:

标号 方案 具体方法 推荐指数
1 本地 放在博客source文件夹下,使用相对路径,跟随博客同步到github仓库 ★★
2 github repo 将assets资源放在单独的github仓库管理,并打tag ★★★
3 云服务器 将assets放在云服务器静态网页上 ★★★★
4 npm 将assets发布到npm,经过 unpkg/jsDelivr CDN使用 ★★★★

优缺点分析

1 本地

  • 优点:
    • 方便,直接放在博客的source文件夹下,使用相对路径引用即可。
    • 不需要额外的配置和管理。
    • 跟随博客同步到github仓库,方便备份和版本控制。
  • 缺点:
    • 资源文件较大时,可能会导致博客仓库过大,影响克隆和下载速度。
    • 仓库容量有限,超过限制后也难以清理。

2 github repo

一般配合jsDelivr使用,cdn加速。

  • 优点:
    • 可以将assets资源放在单独的github仓库管理,避免影响博客仓库的大小。
    • 可以使用github的版本控制和备份功能,方便管理和维护。
  • 缺点:
    • 需要额外的配置和管理,增加了复杂性。
    • 并不推荐github做资源托管,限制大文件和高流量访问,尤其是直接调用raw.githubusercontent.com的资源。

3 云服务器

  • 优点:
    • 可以将assets放在云服务器静态网页上,方便管理和维护。
    • 资源完全自由掌控,可以设置访问权限和流量限制,隐私性最好。
    • 容量和带宽取决于云服务器的配置。
  • 缺点:
    • 需要额外的配置和管理,增加了复杂性。
    • 需要支付云服务器的费用,增加了成本。

4 npm

  • 优点:
    • 可以将assets发布到npm,经过 unpkg/jsDelivr CDN使用,方便快捷。
    • 可以使用npm的版本控制和备份功能,方便管理和维护。
  • 缺点:
    • 需要额外的配置和管理,增加了复杂性。
    • 资源更新后需要重新发布到npm
    • 包的容量有限制

总结

将资源分开管理

  1. 将配置文件放在source文件夹下,使用相对路径引用。
  2. 将不常变动的资源打包为assets,依据喜好放于云服务器或者npm(使用jsDelivr/unpkg CDN)。
  3. 经常变动的资源如果较大,放在云服务器或者github repo(使用jsDelivr)上,如果较小,放在source文件夹下。
  4. 十分推荐为博客(和云服务器,如果使用的话)添加Cloudflare CDN加速,免费版足够使用。