umijs / dumi

📖 Static Site Generator for component library development
https://d.umijs.org
MIT License
3.51k stars 1.17k forks source link

bug: dumi2.x hash history 模式下标题锚点与 TOC 行为异常 #1553

Open CJY0208 opened 1 year ago

CJY0208 commented 1 year ago

dumi 2.x hash history 模式下,标题锚点与 TOC 无法跳转至正确位置,

Versions

Steps to reproduce

例如

---
// docs1.md
---

# Test

点击 Test 标题的锚点与对应 TOC

What is Expected?

本应跳转至 host.com/#/docs-1#Test

What is actually happening?

实际跳转至 host.com/#Test,进入了 404 页面

我看这个问题似乎在此 comment 有提到过,dumi 1x 中无此问题

修复建议

PeachScript commented 1 year ago

本应跳转至 host.com/#/docs-1#Test

这种其实也是不能工作的,在浏览器看来此时的 hash 是 #/docs-1#Test,无法跳转至正确位置

这个问题要修复,应该只能和 dumi 1 一样封装 Link 组件、在 hash 模式下把锚点全部换成 query 参数再手动跳转,但改造成本比较高,且大部分项目都是 browser history,所以之前才没有支持的计划;你如果有兴趣帮 dumi 2 完善,可以考虑上面的思路拟个 RFC 我们讨论下