maomao1996 / vitepress-nav-template

基于 VitePress 的个人前端导航页面模板
https://fe-nav.netlify.app/nav/
MIT License
233 stars 72 forks source link

请求指教:如何做到内部跳转呢 #10

Closed Crazydist closed 7 months ago

Crazydist commented 7 months ago

即主页md跳转到另一个md页面

在ts文件中 link 无法直接引入md文件,否则会不渲染;

不带md后缀,虽然进页面了,但也会因为路由问题404一下后,强制进入,过渡非常生硬

请问我需要怎样才可以做到呢,非常感谢

maomao1996 commented 7 months ago

可以查看下 vitepress 路由相关的文档

Crazydist commented 7 months ago

嗯,感谢,看了一下,还是有点点懵

我最初是做一个搜索引擎的导航跳转

/* docs/nav/data.ts */

export const NAV_DATA: NavData[] = [
  {
    title: '常用工具',
    items: [
      {
        icon: '/google.png',
        title: '谷歌',
        desc: '搜索',
        link: 'https://www.google.com/',
      },
    ],
  },
]

然后因为谷歌国内有墙,于是做了一个md文件,收集谷歌的镜像地址

/* google.md */
# 谷歌

- 谷歌香港:https://www.google.com.hk/

- 谷歌浙大:https://g.luciaz.me/

于是,我将 link 改成了 google.md

/* docs/nav/data.ts */

export const NAV_DATA: NavData[] = [
  {
    title: '常用工具',
    items: [
      {
        icon: '/google.png',
        title: '谷歌',
        desc: '搜索',
        link: './google.md',
      },
    ],
  },
]

结果跳转后的md页面没有被渲染成html

我删掉了md后缀,改成 ./google ,结果404了一下,又已经渲染了,这样就很奇怪的跳一下

/* docs/nav/data.ts */

export const NAV_DATA: NavData[] = [
  {
    title: '常用工具',
    items: [
      {
        icon: '/google.png',
        title: '谷歌',
        desc: '搜索',
        link: './google',
      },
    ],
  },
]
maomao1996 commented 7 months ago

那就根据当前页面的地址来填相对路径了

Crazydist commented 7 months ago

嗯,貌似只能如此,填外部链接了