Skip to content

VitePress 路由

VitePress 使用基于文件的路由系统,这意味着你的 URL 结构是由你的源文件目录结构决定的。理解这一点是组织你的文档网站的关键。

基本原理

docs 目录(或你指定的根目录)下的每个 .md 文件都会被编译成一个 .html 页面,并映射到一个对应的路由。

  • 一个名为 guide.md 的文件会生成一个 guide.html 页面,可以通过 /guide.html 或更简洁的 /guide 访问。
  • 一个位于 guide/getting-started.md 的文件会生成 guide/getting-started.html,可以通过 /guide/getting-started 访问。

这种方式非常直观:你的目录结构就是你的网站结构。

首页(Index Pages)

如果一个文件名是 index.md,它会被视为所在目录的“首页”。

  • docs/index.md 会成为网站的根首页,访问 / 即可看到。
  • docs/guide/index.md 会成为 /guide/ 目录的首页,访问 /guide/ 即可看到。

干净的 URL (Clean URLs)

VitePress 会自动为你的页面生成“干净的 URL”。这意味着用户访问页面时不需要在 URL 中包含 .html 后缀。服务器会自动解析 /page/page.html

链接到其他页面

在你的 Markdown 文件中,你可以使用相对路径来链接到其他页面。

markdown
<!-- 假设当前文件在 docs/guide/getting-started.md -->

<!-- 链接到同一目录下的另一个文件 -->
[查看配置](./configuration.md)

<!-- 链接到上一级目录的首页 -->
[返回指南首页](../guide/)

<!-- 链接到网站根目录的 API 示例 -->
[查看 API 示例](/api-examples.md)

最佳实践

  • 始终使用 .md 后缀来链接 Markdown 文件,VitePress 在构建时会自动将其转换为 .html
  • 使用相对路径可以使你的链接在不同环境下(如本地开发和部署后)都能正常工作。

通过侧边栏和导航栏导航

虽然你可以手动在页面中创建链接,但对于一个文档网站来说,主要的导航是通过**侧边栏(Sidebar)导航栏(Navbar)**实现的。

这些导航元素是在 .vitepress/config.js 文件中配置的。通过定义 themeConfig.navthemeConfig.sidebar,你可以为用户提供一个清晰、一致的网站导航结构。

例如,一个简单的侧边栏配置可能如下所示:

javascript
// .vitepress/config.js
export default {
  themeConfig: {
    sidebar: [
      {
        text: '指南',
        items: [
          { text: '简介', link: '/introduction' },
          { text: '快速上手', link: '/getting-started' }
        ]
      }
    ]
  }
}

这样,VitePress 就会根据你的配置自动生成导航链接,用户无需关心底层的 URL 结构。