升级 hexo-theme-next 到 v8.5.0 报错 escape_html is not a function 的问题

今天将博客主题 hexo-theme-next 升级到 v8.5.0 后,开启本地服务后,打开页面控制台报错 escape_html is not a function,原因是 Hexo 版本过低导致的,记一下整个过程和原因希望能帮到之后遇到这个情况的朋友。

经过排查,确定问题是在 v8.4.0 的更新中,有一个破坏性改动: Separate third party inline scripts (#241)

新增了一个扩展方法 next_data 并且应用到了很多地方,这个 next_data 方法又用到了 escape_html 方法。

升级前我的 Hexo 版本是 v5.2.0,而 escape_html 是在 v5.3.0 当中添加的,因此导致了最开始的报错。

到这里问题就解决了,总结一下,如果你遇到了这个报错,请先试着升级一下主题和 Hexo 的版本,上面这个问题就是因为主题更新了,但是 Hexo 未更新导致的。