Skip to content

配置

本文档的 vitepress 配置

仅供参考 , 更多配置请查看官方文档

ts
import { defineConfig } from 'vitepress'
import { version } from '../../package.json'

export default defineConfig({
  title: '@quiteer/web 中文文档',
  description: '一些 web 开发相关的 npm 包',
  base: '/web/',
  lang: 'en',
  head: [['link', { rel: 'icon', href: '/web/favicon.ico' }]],
  markdown: {
    lineNumbers: true
  },
  lastUpdated: true,
  appearance: true,
  themeConfig: {
    siteTitle: '@quiteer/web',
    logo: '/favicon.ico',
    lastUpdatedText: '最后更新时间',
    footer: {
      message: 'Released under the MIT License.',
      copyright: 'Copyright © 2025-11-present Quiteer'
    },
    docFooter: {
      prev: '上一页',
      next: '下一页'
    },
    nav: nav(),
    socialLinks: [{ icon: 'github', link: 'https://github.com/quiteerjs/web' }],
    sidebar: {
      '/about/': [
        {
          text: '关于',
          items: [{ text: '文档配置', link: '/about/' }]
        }
      ],
      '/cli/': [
        {
          text: 'CLI',
          items: [
            { text: '一些脚本工具', link: '/cli/' },
            { text: 'scripts', link: '/cli/scripts' },
            { text: 'qvite', link: '/cli/qvite' }
          ]
        }
      ],
      ...introduceSidebar()
    }
  },
  // 关键:在 SSR 阶段将这些依赖打包处理,避免 CJS 命名导出错误
  vite: {
    ssr: {
      noExternal: [
        'naive-ui',
        'vueuc',
        'vooks',
        'treemate',
        'evtd'
      ]
    },
    optimizeDeps: {
      include: ['vue', 'naive-ui', 'vueuc', 'vooks']
    }
  }
})

/**
 * 生成顶部导航配置:
 * 返回 VitePress 导航栏的菜单结构。
 */
function nav() {
  return [
    {
      text: '指引',
      link: '/introduce/project',
      activeMatch: '/introduce|main|renderer|config|builder/'
    },
    {
      text: 'CLI',
      link: '/cli/',
      activeMatch: '/cli/'
    },
    {
      text: '关于',
      link: '/about/',
      activeMatch: '/about/'
    },
    {
      text: '相关文档',
      items: [
        {
          text: 'vue',
          link: 'https://cn.vuejs.org/'
        },
        {
          text: 'vite',
          link: 'https://cn.vitejs.dev/'
        },
        {
          text: 'typescript',
          link: 'https://www.typescriptlang.org/'
        },
        {
          text: 'unocss',
          link: 'https://unocss.dev/'
        },
        {
          text: 'naive-ui',
          link: 'https://www.naiveui.com/zh-CN/os-theme'
        },
        {
          text: 'axios',
          link: 'https://axios-http.com/zh/'
        },
        {
          text: 'tsdown',
          link: 'https://tsdown.dev/zh-CN/'
        }
      ]
    },
    {
      text: version,
      items: [
        {
          text: '组织',
          link: 'https://github.com/QuiteerJs'
        },
        {
          text: 'electronup',
          link: 'https://quiteerjs.github.io/electronup/'
        },
        {
          text: 'electron-vue3-quiet',
          link: 'https://taiaiac.github.io/electron-vue3-quiet-doc/'
        },
        {
          text: 'parser-config',
          link: 'https://github.com/QuiteerJs/parser-config'
        },
        {
          text: '@quiteer/directives',
          link: 'https://github.com/quiteerjs/quiteer-vue-directives'
        }
      ]
    }
  ]
}

/**
 * 生成侧边栏配置:
 * 定义介绍与插件文档的侧边栏结构。
 */
function introduceSidebar() {
  const commonRoute = [
    {
      text: '介绍',
      items: [
        { text: '项目介绍', link: '/introduce/project' },
        { text: '快速上手', link: '/introduce/introduction' }
      ]
    },
    {
      text: '插件',
      items: [
        { text: '插件总览', link: '/plugins/' },
        {
          text: '@quiteer/naive-extra',
          items: [
            { text: '总览', link: '/plugins/naive-extra/' },
            { text: 'QuiUpload', link: '/plugins/naive-extra/QuiUpload' },
            { text: 'QuiForm', link: '/plugins/naive-extra/QuiForm' },
            { text: 'QuiTable', link: '/plugins/naive-extra/QuiTable' },
            { text: 'QuiLayout', link: '/plugins/naive-extra/QuiLayout' }
          ]
        },
        {
          text: '@quiteer/box',
          items: [
            { text: '总览', link: '/plugins/box/' }
          ]
        },
        {
          text: '@quiteer/axios',
          items: [
            { text: '总览', link: '/plugins/axios/' }
          ]
        },
        {
          text: '@quiteer/vite-plugins',
          items: [
            { text: '插件总览', link: '/plugins/vite-plugin/' },
            { text: '文件改动日志', link: '/plugins/vite-plugin/file-change-logger' },
            { text: '环境变量配置', link: '/plugins/vite-plugin/env-config' },
            { text: '自动生成环境变量类型', link: '/plugins/vite-plugin/env-types' },
            { text: 'API Mock 路由', link: '/plugins/vite-plugin/mock-router' },
            { text: '移除 console', link: '/plugins/vite-plugin/remove-console' },
            { text: '虚拟 HTML 生成', link: '/plugins/vite-plugin/virtual-html' },
            { text: '构建进度条(第三方)', link: '/plugins/vite-plugin/progress' }
          ]
        },
        {
          text: '@quiteer/directives',
          items: [
            { text: '指令总览', link: '/plugins/directives/' },
            { text: '权限指令(v-permission)', link: '/plugins/directives/permission' },
            { text: '复制指令(v-copy)', link: '/plugins/directives/copy' },
            { text: '防抖指令(v-debounce)', link: '/plugins/directives/debounce' },
            { text: '节流指令(v-throttle)', link: '/plugins/directives/throttle' },
            { text: '点击外部(v-click-outside)', link: '/plugins/directives/clickOutside' },
            { text: '文本省略(v-ellipsis)', link: '/plugins/directives/ellipsis' },
            { text: '交叉观察(v-intersecting)', link: '/plugins/directives/intersecting' },
            { text: '图片懒载(v-lazy)', link: '/plugins/directives/lazy' },
            { text: '加载指令(v-loading)', link: '/plugins/directives/loading' },
            { text: '水印指令(v-watermark)', link: '/plugins/directives/watermark' }
          ]
        },
        {
          text: '@quiteer/utils',
          items: [
            { text: '总览', link: '/plugins/utils/' },
            { text: '函数', link: '/plugins/utils/function' },
            { text: '数组', link: '/plugins/utils/array' },
            { text: '对象', link: '/plugins/utils/object' },
            { text: '字符串', link: '/plugins/utils/string' },
            { text: '数字', link: '/plugins/utils/number' },
            { text: '时间', link: '/plugins/utils/time' },
            { text: '随机', link: '/plugins/utils/random' },
            { text: '类型', link: '/plugins/utils/type-utils' }
          ]
        },
        { text: '@quiteer/is', link: '/plugins/is' }
      ]
    }

  ]

  return {
    '/introduce/': commonRoute,
    '/plugins/': commonRoute
  }
}

最后更新时间:

Released under the MIT License.