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 左右了。


部分资料来源于网络,版权属其原著者所有,只供学习交流之用。如有侵犯您的权益,请联系【公众号:码农印象】删除,可在下方评论,亦可邮件至ysluckly.520@qq.com。互动交流时请遵守宽容、换位思考的原则。

×

喜欢就点赞,疼爱就打赏

(function(){ var bp = document.createElement('script'); bp.src = '//push.zhanzhang.baidu.com/push.js'; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();
休闲小游戏