Hexo 加速渲染速度之 fragment_cache

  1. 前文
  2. 使用
    1. 官方文档
    2. 替换简单文本区域
  3. 最后

前文

从开发 3-hexo 主题到现在已过去 9 个月时间了,累计在博客中写 132 篇文章了。

现在发现了严重的问题,hexo generate 渲染的速度越来越慢,现在 132 篇左右,每次渲染时间到达了 50+ s,相当不爽。

今日抽时间,查看了官方 api,看到了 fragment_cache 局部缓存这个东西,解决了渲染速度的问题。

使用

官方文档

局部缓存。它储存局部内容,下次使用时就能直接使用缓存。

<%- fragment_cache (id, fn); %>

替换简单文本区域

a. 我们可以将所有页面都一样的区域,如下所示,缓存下来。当下一篇文章在渲染到这个位置时,将不再渲染,直接拿缓存数据。

<%- fragment_cache ('header', function (){
    return partial ('<head></head>');
}) %>

b. 文章模块也可以使用,原来公共引用部分(没有和当前文章耦合的内容)使用下面的方式:

<%- partial ('_partial/header'); %>

改进为以下代码:

<%- fragment_cache ('header', function (){
    return partial ('_partial/header');
}) %>

最后

这个语法只适用于所有页面都相同,不随文章内容变化的部分。

作者在 3-hexo 中加入了此语法,渲染 132 篇文章的速度已从 50+s 到现在 3s 左右了。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com

×

喜欢就点赞,疼爱就打赏