随着文件数量的增加,Hexo 花费越来越多的时间使用“hexo g”生成静态 HTML 文件。为什么 Hexo 会重建每一个 '.md' 文件,而不是将自身限制在修改过的文件中?
我的 Hexo 版本是 3.0.1。
随着文件数量的增加,Hexo 花费越来越多的时间使用“hexo g”生成静态 HTML 文件。为什么 Hexo 会重建每一个 '.md' 文件,而不是将自身限制在修改过的文件中?
我的 Hexo 版本是 3.0.1。
这取决于几件事,但主要瓶颈是:
作者在去年引入了片段缓存来缓存静态部分(页眉、页脚、侧边栏)。
由主题作者决定使用它来加速页面生成。
您可以尝试更改为其他主题,看看是否有任何不同。
如果自 3.0 起没有指定语言,highlight.js 将尝试自动检测代码块中的语言,这需要相当长的时间。
考虑使用plain
andauto_detect
选项(#1124),看看是否有任何不同。
已经提到,但没有承诺,使用增量方法来生成静态 HTML。
我使用 Hexo 的工作流程是:
-hexo serve
预览你更新
你在这一步迭代修改
使用hexo-livereload
保存你主动重新加载页面
- hexo generate
/hexo deploy
发布你的网站
你明确告诉 Hexo 重建每一个帖子。每次添加新文件时,Node 将花费更长的时间来解释 .md 文件。
命令 'hexo -g' 可以分为两部分: 'hexo' 表示您希望 Hexo 完成以下命令。“-g”是“生成”的缩写。使用不带任何修饰符的“生成”一词是告诉 Hexo 它应该重建 Hexo 文件夹中可用的每个帖子。
以我有限的经验,开发人员只有在以下情况下才使用“hexo -g”:
如果您的计算机可以在合理的时间内处理 .md 文件,那么请务必使用“hexo -g”。
最容易改善导致组件的性能问题之一是降价股票渲染器。幸运的是,有很多替代方案——例如,试试 hexo-renderer-markdown-it:
$ npm un hexo-renderer-marked --save
npm i hexo-renderer-markdown-it --save