【问题标题】:Why does Hexo generation take so long?为什么 Hexo 生成需要这么长时间?
【发布时间】:2015-07-08 10:00:40
【问题描述】:

随着文件数量的增加,Hexo 花费越来越多的时间使用“hexo g”生成静态 HTML 文件。为什么 Hexo 会重建每一个 '.md' 文件,而不是将自身限制在修改过的文件中?

我的 Hexo 版本是 3.0.1。

【问题讨论】:

    标签: hexo


    【解决方案1】:

    这取决于几件事,但主要瓶颈是:

    主题不使用缓存

    作者去年引入fragment cache缓存静态部分(页眉、页脚、侧边栏)。
    使用它来加快页面生成速度取决于主题作者。
    你可以试试换成其他主题看看有什么不同。

    highlight.js 语言检测

    如果自 3.0 起没有指定语言,highlight.js 将尝试自动检测代码块中的语言,这需要相当长的时间。
    考虑使用plain and auto_detect option (#1124),看看有什么不同。


    已经mentioned,但未承诺使用增量方法生成静态 HTML。

    我使用 Hexo 的工作流程是:
    - hexo serve 预览你的更新
    您在此步骤中迭代修改
    使用 hexo-livereload 可以节省您主动重新加载页面的时间
    - hexo generate/hexo deploy 发布您的网站

    【讨论】:

    • 较新的是 hexo-browsersync
    【解决方案2】:

    您明确告诉 Hexo 重建每个帖子。每次添加新文件时,Node 将花费更长的时间来解释 .md 文件。

    命令'hexo -g'可以分为两部分:'hexo'表示你希望Hexo完成下面的命令。 “-g”是“生成”的缩写。使用不带任何修饰符的“生成”一词是告诉 Hexo 它应该重建 Hexo 文件夹中可用的每个帖子。

    根据我有限的经验,开发人员只有在以下情况下才使用“hexo -g”:

    • 执行首次设置或维护
    • 无法回忆起他们未发表的帖子的名称

    如果您的计算机可以在合理的时间内翻阅 .md 文件,那么请务必使用 'hexo -g'。

    【讨论】:

    • g 实际上代表generate
    【解决方案3】:

    导致组件性能问题的最容易改进之一是降价股票渲染器。幸运的是,有很多选择 - 例如,给hexo-renderer-markdown-it 一个机会:

    1. 将您的 hexo 安装克隆到一个单独的目录(或者只是将您的当前目录复制到另一个目录)
    2. $ npm un hexo-renderer-marked --save
    3. npm i hexo-renderer-markdown-it --save
    4. 在两个目录中运行“hexog”并比较性能

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      • 2014-02-16
      • 2011-08-27
      • 2011-12-07
      相关资源
      最近更新 更多