【发布时间】:2015-07-08 10:00:40
【问题描述】:
随着文件数量的增加,Hexo 花费越来越多的时间使用“hexo g”生成静态 HTML 文件。为什么 Hexo 会重建每一个 '.md' 文件,而不是将自身限制在修改过的文件中?
我的 Hexo 版本是 3.0.1。
【问题讨论】:
标签: hexo
随着文件数量的增加,Hexo 花费越来越多的时间使用“hexo g”生成静态 HTML 文件。为什么 Hexo 会重建每一个 '.md' 文件,而不是将自身限制在修改过的文件中?
我的 Hexo 版本是 3.0.1。
【问题讨论】:
标签: hexo
这取决于几件事,但主要瓶颈是:
作者去年引入fragment cache缓存静态部分(页眉、页脚、侧边栏)。
使用它来加快页面生成速度取决于主题作者。
你可以试试换成其他主题看看有什么不同。
如果自 3.0 起没有指定语言,highlight.js 将尝试自动检测代码块中的语言,这需要相当长的时间。
考虑使用plain and auto_detect option (#1124),看看有什么不同。
已经mentioned,但未承诺使用增量方法生成静态 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'。
【讨论】:
g 实际上代表generate。
导致组件性能问题的最容易改进之一是降价股票渲染器。幸运的是,有很多选择 - 例如,给hexo-renderer-markdown-it 一个机会:
$ npm un hexo-renderer-marked --savenpm i hexo-renderer-markdown-it --save【讨论】: