Series / 系列
Hexo 博客工程化
- 01 如何使用 GitHub + Hexo 快速搭建个人网站
- 02 Hexo命令行参数详解:除了--tags和--categories还可以使用哪些?
- 03 Hexo中--tags和--categories的区别详解
- 04 Hexo 中 hexo generate 之前都需要使用 hexo clean 命令吗?
- 05 为什么导航栏跳转没有反应
- 06 从本地部署到自动部署:Hexo博客GitHub Action配置实践
- 07 Hexo博客评论系统方案对比
- 08 hexo博客的updated字段
- 09 Hexo主题优化:简化category和tag页面实现
在使用 Hexo 构建博客的过程中,经常会遇到 hexo clean 和 hexo generate 这两个命令。很多初学者可能会有疑问:每次执行 hexo generate 前都必须运行 hexo clean 吗? 本文将详细解答这个问题,并提供最佳实践指南。
一、命令作用区别
首先,让我们明确这两个命令的基本作用:
1. hexo clean
清除 Hexo 的缓存文件 (db.json) 和已生成的静态文件 (public 目录):
- 缓存文件
db.json:包含站点内容索引,用于提高生成效率 - 静态文件目录
public:最终生成的网站文件,用于部署到服务器
2. hexo generate
根据当前配置和内容,生成新的静态文件到 public 目录:
- 默认基于缓存进行增量更新,只重新生成有变化的内容
- 使用
--force参数可强制重新生成所有文件
二、什么时候需要先执行 hexo clean?
以下情况建议先运行 hexo clean,再执行 hexo generate:
✅ 修改了站点核心配置(_config.yml)
✅ 切换或修改了主题(包括主题配置 themes/主题名/_config.yml)
✅ 修改了模板文件(.ejs、.pug 等布局文件)
✅ 安装或卸载了插件,特别是影响生成过程的插件
✅ 网站显示异常(如旧内容未更新、样式错乱等)
✅ 需要完全重新生成网站(如发布前的最终检查)
三、什么时候可以直接执行 hexo generate?
以下情况可以跳过 hexo clean,直接执行 hexo generate:
✅ 仅修改了文章内容(.md 文件)
✅ 仅添加了新文章或页面
✅ 仅修改了文章的 front-matter(标题、标签、日期等)
✅ 开发过程中的快速预览(使用 hexo server 时会自动重新生成)
四、最佳实践总结
1. 日常写作流程
1 | # 1. 创建新文章 |
2. 配置或主题变更流程
1 | # 1. 修改配置文件或主题 |
3. 发布前流程
1 | # 清除缓存,确保生成完整文件 |
五、命令组合技巧
Hexo 支持命令组合,可以简化操作:
1 | # 清除并重新生成 |
六、常见问题解答
Q: 为什么我修改了配置,但生成的网站没有变化?
A: 可能是缓存导致的,尝试先执行 hexo clean 再重新生成。
Q: hexo clean 会删除我的文章吗?
A: 不会,它只会删除缓存文件和生成的静态文件,不会影响 source 目录中的原始文章。
Q: 增量更新和强制更新有什么区别?
A: 增量更新只处理变化的内容,生成速度更快;强制更新会重新生成所有文件,确保内容完全一致。
总结
不是每次执行 hexo generate 都需要先运行 hexo clean,这取决于你的具体操作场景。合理使用这两个命令可以提高工作效率:
- 日常写作:直接使用
hexo generate或hexo server - 配置变更:先
hexo clean再hexo generate - 发布前:执行
hexo clean && hexo generate确保完整性
希望本文能帮助你更好地理解和使用 Hexo 的这两个核心命令!
Share / 分享
评论