Skip to content

插件设置

工作目录

工作目录指的是,Sutras识别package,component以及demo的根目录。

Sutras将从工作目录中识别packages,进而匹配demo,这样有助于提升文档书写体验,以及可维护性,否则文档书写过程,需要配置大量的路径信息。

大多数情况下,docs文档会作为单独文件夹存在于project中,或作为单独的package存在于monorepo项目中。 默认情况下:

  • 如果是 monorepo 项目,那么Sutras会指定其 workspace根目录作为自己的工作目录。目前Sutras支持Yarn, Bolt, Lerna, pnpm, Rush,如果你采用的其他monorepo方案,请参考手动配置packages

  • 如果是single-package项目,那么Sutras会采用Vitepress的工作目录

其他情况,那么就需要手动指定root的工作目录,或手动配置packages。如果同时配置了root,packages,Sutras会以packages配置优先的规则,将识别结果合并。

自定义工作目录

Sutras的工作目录通过root选项来指定,支持绝对路径与相对路径,相对路径以Vitepress的工作目录为基准:

js
import { defineConfig } from 'vite'
import { pluginVite as sutrasVite } from '@sgwm-sutras/plugin'

defineConfig({
    plugins: [
        sutrasVite({
            root: '' /** 自定义工作目录 */
        })
    ]
})

Package配置

添加workspace之外的package,或为package指定别名,指定后,Sutras将同时根据package名称与alias名称来扫描demo

关于路径解析,详见路径解析

  • 设置项: packages

  • 类型: PackageOption

    ts
    type PackageOption = {
     /**
      * @name 路径
      */
      path: string
     /**
      * @name 别名
      */
      alias: string | string[]
    }
    js
    defineConfig({
        plugins: [
            sutrasVite({
                packages: [
                    {
                        path: '/absolute/path/to/package1', 
                        alias: 'package1'
                    },
                    {
                        path: 'relative/path/from/root/to/package2',
                        /** alias 默认为:package2 */
                    },
                    {
                        path: 'any/type/path/to/package3',
                        /**
                          * alias 支持数组形式,但需要保证唯一
                          * 这样做的目的,只为了兼容特殊情况
                          * 一般不建议这样做,会为文档的运维工作增加负担
                          */
                        alias: ['package3', 'PA']
                    }
                ]
            })
        ]
    })

    如果最终结果出现名称冲突,Sutras将在开发服务启动时抛出错误。

定义demos目录

指定demos目录名,指定后,Sutras将根据你指定的demos目录名来扫描demo

  • 设置项: demoDirname

  • 类型: string

  • 默认值: demos

    详见路径解析

定义demo全局配置

指定demo的全局配置

基于 MIT 许可发布