跳到主要内容

Docusaurus-解决showLastUpdateTime总是显示相同日期问题

在Docusaurus中可以通过 showLastUpdateTime 在文章的末尾自动显示其最后更新时间
具体配置方法:链接

本地测试

在本地进行构件后本地服务端

切换到所在目录后 进行构建
npm run build

运行本地服务端
npm run serve

检查各篇文章末尾的时间显示是否正常

注意不能使用
npm run start

其相当于调试状态 在此状态下所有的文章总是显示相同时间
且与文件时间的修改时间不相符 其只起到占位符的作用

Cloudflare Pages

此处使用 Cloudflare Pages + Github存储库 + 预设Docusaurus 框架参数的部署方法
在此情况下 所有文章末尾显示的最后修改时间 都会变成Github新一次提交的时间

这其实是由于“浅层克隆”导致的 所谓浅层克隆指在拉取存储库的时候只拉取最新的一个提交
而不会去获取所有历史提交 这是 CF pages 拉取存储库的默认行为
而在使用Github存储库时 Docusaurus 依赖历史提交git中来确定修改时间

所以我们需要让 pages 进行“深度克隆”
在pages的设置中修改构件配置 将默认的 npm run build 改为
git fetch --unshallow && npm run build
在构建前先进行深度克隆 修改后文章末尾的时间应能正常显示


参考: