这就是
Hexo 备份 & 一键恢复原理
Hexo 备份 & 一键恢复原理
一、Hexo 备份 & 一键恢复【核心原理】
一句话原理(先记住):
Hexo 真正要备份的不是网站文件,而是“源码 + 配置 + 清单”。
二、哪些东西【必须备份】?哪些【不需要】?
✅ 必须备份(100% 重要)
| 项目 | 说明 |
|---|---|
source/ |
你的文章、页面、图片(最重要) |
themes/ |
主题文件 |
_config.yml |
Hexo 主配置 |
_config.主题名.yml |
主题配置 |
package.json |
npm 依赖清单(一键恢复的核心) |
scaffolds/ |
模板(可选但建议) |
👉 这些 = Hexo 源码
❌ 不需要备份(可随时生成)
| 项目 | 原因 |
|---|---|
node_modules/ |
npm 可自动重装 |
public/ |
hexo g 自动生成 |
.deploy_git/ |
部署临时目录 |
.cache/ |
缓存文件 |
📌 这些不备份,反而更干净
三、一键恢复的“秘密武器”是谁?
👉 就是它:package.json
它里面写了类似:
1 | { |
npm install 做了什么?
1 | npm install |
它会:
1️⃣ 读取 package.json
2️⃣ 下载所有插件
3️⃣ 自动生成 node_modules/
4️⃣ 恢复完整 Hexo 运行环境
👉 这就是“一键恢复”的本质
四、标准【备份方案】(推荐)
✅ 正确姿势:源码 & 部署分离
📦 仓库 1:Hexo 源码仓库(私有 / 公开)
备份内容:
1 | Hexo/ |
📌 这个仓库 = 你的“博客源代码”
🌐 仓库 2:网站仓库(GitHub Pages)
1 | public/ 内容 |
📌 这个仓库 = 纯静态网页
五、.gitignore(关键但常被️容易忽略)
必须忽略:
1 | node_modules/ |
否则仓库会变得:
- 巨大
- 混乱
- 难以恢复
六、一键恢复【完整流程】
假设你换电脑 / 系统重装 👇
1️⃣ 安装环境
1 | # 安装 Node.js(自带 npm) |
2️⃣ 克隆 Hexo 源码仓库
1 | git clone 你的源码仓库地址 |
3️⃣ 一键恢复(关键一步)
1 | npm install |
✔️ 自动安装所有插件
✔️ 恢复运行环境
4️⃣ 本地启动测试
1 | hexo clean |
浏览器打开:
1 | http://localhost:4000 |
🎉 博客完整复活
5️⃣ 重新部署
1 | hexo g |
七、为什么不备份 node_modules?
很多新手的误区 ❌
原因:
- 平台相关(Windows / macOS 不一样)
- 体积巨大
- 可能过期
正确做法:
只备份“清单”,不备份“结果”
八、进阶:Hexo 为什么“永远能恢复”?
因为 Hexo = 确定性系统
1 | 源码 + 配置 + package.json |
📌 这就是为什么程序员敢 只备份源码
九、最常见的 5 个坑(重点)
❌ 坑 1:只备份 public/
👉 没文章源码,无法维护
❌ 坑 2:忘记 package.json
👉 插件全丢
❌ 坑 3:node_modules 进 Git
👉 仓库爆炸
❌ 坑 4:主题用 git submodule 却没提交
👉 主题丢失
❌ 坑 5:没区分源码仓库和部署仓库
👉 后期必乱
十、给你一句终极总结(请记住)
Hexo 的一键恢复不是魔法,而是:
Git 备份源码 + npm 还原依赖 + Hexo 重新生成。
在 Hexo 环境里,npm 是什么?
简单一句话:
npm 是用来安装、管理 Hexo 及其插件的工具。
下面用新手也能懂的方式给你讲清楚 👇
一、npm 是什么?
npm = Node Package Manager(Node.js 包管理器)
它是 Node.js 自带的工具,主要作用是:
- 📦 安装软件(包 / 插件)
- 🔄 管理依赖
- ⬆️ 升级 / ⬇️ 卸载包
👉 Hexo 本身就是用 Node.js 写的,所以必须靠 npm 来运行和扩展。
二、npm 在 Hexo 里具体干嘛?
在 Hexo 博客中,npm 主要做 4 件事:
1️⃣ 安装 Hexo 本体
1 | npm install -g hexo-cli |
这一步:
- 把 Hexo 命令行工具装到电脑里
- 才能使用
hexo init / hexo g / hexo s
2️⃣ 安装 Hexo 项目依赖
在你的 Hexo 博客目录里执行:
1 | npm install |
作用:
- 根据
package.json - 自动安装主题、插件等依赖
📌 这是最常用的一条命令
3️⃣ 安装 Hexo 插件
比如:
1 | npm install hexo-deployer-git --save |
意思是:
- 安装 Git 部署插件
- 写入
package.json(方便以后恢复)
常见插件:
hexo-deployer-git(部署)hexo-generator-sitemap(站点地图)hexo-generator-feed(RSS)
4️⃣ 升级 / 删除插件
升级:
1 | npm update |
删除:
1 | npm uninstall 插件名 |
三、npm 和 Hexo 的关系(一句话理解)
Hexo = 博客程序
npm = 管理 Hexo 和插件的工具
就像:
| 类比 | 实际 |
|---|---|
| 手机 | Hexo |
| 应用商店 | npm |
| App | Hexo 插件 |
四、Hexo 项目里 npm 的“核心文件”
📄 package.json
这是 Hexo 的“清单”文件,记录:
- 项目用到了哪些插件
- 插件版本号
- 项目名称
📌 有了它,就可以:
1 | npm install |
➡️ 一键恢复整个 Hexo 环境(非常重要)
五、常见新手疑问
❓ 不用 npm 行不行?
❌ 不行
Hexo 依赖 Node.js,而 npm 是 Node.js 的核心组成部分。
❓ npm 和 yarn / pnpm 有什么关系?
- 它们都是包管理工具
- Hexo 默认用 npm
- 新手 👉 只用 npm 就够了
❓ npm 装坏了怎么办?
在 Hexo 目录:
1 | rm -rf node_modules |
即可重建依赖 👍
六、给你一句总结(重点)
在 Hexo 环境中,npm 是用来安装、管理、恢复 Hexo 及其插件的必备工具,没有 npm 就没有 Hexo。
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick Start
Create a new post
1 | $ hexo new "My New Post" |
More info: Writing
Run server
1 | $ hexo server |
More info: Server
Generate static files
1 | $ hexo generate |
More info: Generating
Deploy to remote sites
1 | $ hexo deploy |
More info: Deployment