Keep 主题更新 tools 功能报错 btoa is not defined
-
前言
不是专业前端,此问题通过 Chat GLM 解决 -
更新
1 | 24-06-17 初始记录 |
问题
Keep 主题更新 tools 功能,但是访问 tools 模板页面报错:btoa is not defined。
原因
根据 Chat GLM 的描述。
如果你遇到了
btoa is not defined的错误,这意味着btoa函数在你的环境中不可用。btoa是浏览器环境中用于将字符串编码为 Base64 的函数,而在 Node.js 环境中没有这个全局函数。在 Node.js 中,你可以使用
Buffer类来实现相似的功能。下面是一个不使用btoa的替代方案,它可以在 Node.js 和浏览器环境中都工作。
解决
找到 node_module 中 keep 主题的安装位置:一般在这个地方(…/blog/node_modules/hexo-theme-keep/layout/_template)。在这个文件夹中的 tools-nav.ejs 为更新后的 tools 页面模板文件。
修改开始部分代码,注释第一行,改成使用 Buffer 转换的方式(这部分也是 Chat GLM 给出的建议):
1 | <% |
评论
评论插件加载失败
正在加载评论插件