VuePress 生态系统VuePress 生态系统
  • 主题指南
  • 默认主题
  • Hope 主题
  • Plume 主题
  • Reco 主题
  • 功能插件
  • Markdown 插件
  • 搜索插件
  • 博客插件
  • 渐进式应用插件
  • 统计分析插件
  • 搜索引擎优化插件
  • 开发插件
  • 工具插件
  • AI 插件
  • @vuepress/helper
  • @vuepress/test-utils
  • English
  • 简体中文
GitHub
  • 主题指南
  • 默认主题
  • Hope 主题
  • Plume 主题
  • Reco 主题
  • 功能插件
  • Markdown 插件
  • 搜索插件
  • 博客插件
  • 渐进式应用插件
  • 统计分析插件
  • 搜索引擎优化插件
  • 开发插件
  • 工具插件
  • AI 插件
  • @vuepress/helper
  • @vuepress/test-utils
  • English
  • 简体中文
GitHub
  • append-date
  • markdown-chart
    • markdown-chart
    • Chart.js
    • ECharts
    • Flowchart
    • Markmap
    • Mermaid
    • PlantUML
  • markdown-container
  • markdown-ext
  • markdown-field
  • markdown-file-tree
  • markdown-image
  • markdown-include
  • markdown-hint
  • markdown-math
  • markdown-preview
  • markdown-stylize
  • markdown-tab
  • links-check
  • prismjs
  • revealjs
    • revealjs
    • 幻灯片演示
    • 幻灯片主题
  • shiki

links-check

@vuepress/plugin-links-check

此插件检查你的 Markdown 文件中的死链接。

此插件已集成到默认主题中。

使用

npm i -D @vuepress/plugin-links-check@next
.vuepress/config.ts
import { linksCheckPlugin } from '@vuepress/plugin-links-check'

export default {
  plugins: [
    linksCheckPlugin({
      // 选项
    }),
  ],
}

指南

链接检查

插件会检查每个 Markdown 链接,并对目标文件不存在的链接给出警告。

链接会在开发服务器与构建时检查。设置 build: 'error' 可以在发现死链接时让构建失败。

使用 exclude 可以通过字符串、正则表达式或函数排除有意为之的失效链接。

锚点检查

链接的锚点也会被检查。当锚点不在目标页面中时,该链接将被视为死链接,无论目标页面是当前页面还是其他页面。

以下锚点会被识别:

  • 标题 id,包括 {#custom-id} 指定的自定义 id。
  • 裸 HTML 中的 id,如 <div id="foo">。
  • 其他 Markdown 插件发布的 id,如 @vuepress/plugin-markdown-field 生成的字段 id。

设置 anchors: 'same-page' 可以只检查指向当前页面的锚点,设置为 false 可以跳过锚点检查。

当链接的目标页面不是由 Markdown 渲染时,该页面中的锚点未知,因此不会检查链接的锚点。

检查锚点时,链接会同时以原样(含锚点)和去掉锚点的路径与 exclude 比较。

选项

devboolean
默认值true

是否在开发服务器中检查 Markdown 中的死链接。

buildboolean | 'error'
默认值true

是否在构建时检查 Markdown 中的死链接。如果设置为 'error',则在发现死链接时构建将失败。

anchorsboolean | 'same-page'
默认值true

是否检查链接的锚点。设置为 'same-page' 时仅检查指向当前页面的锚点,设置为 false 时跳过锚点检查。

参考:锚点检查。

exclude(string | RegExp)[] | ((link: string, isDev: boolean) => boolean)

检查时需要排除的链接。你可以使用字符串或正则表达式的列表,或者返回布尔值的函数。

.vuepress/config.ts
import { linksCheckPlugin } from '@vuepress/plugin-links-check'

export default {
  plugins: [
    linksCheckPlugin({
      exclude: [
        // 通过字符串排除链接
        '/exclude-link',
        // 通过正则表达式排除链接
        /\/exclude-link-regex/,
      ],

      // 或者通过函数排除链接
      exclude: (link, isDev) => {
        if (isDev) {
          return link.startsWith('/exclude-link-dev')
        }
        return link.startsWith('/exclude-link-build')
      },
    }),
  ],
}
在 GitHub 上编辑此页
上次更新: 2026/9/28 08:53
贡献者: Mister-Hope
上一页
markdown-tab
下一页
prismjs