Skip to content

enhanceApp 异步导入组件库 进行客户端组件渲染 文档打包后第一次进入组件示例 首页视图残留 #4538

@FengyangMK

Description

@FengyangMK

Describe the bug

背景:
由于特殊的需求团队使用element-plus等第三方组件库进行内部组件库封装, vitepress进行文档示例编写。由于内部组件库内大量使用浏览器api和第三方库导致vitepress直接使用组件库的npm包会出现打包失败的问题 ,为此我们不得不额外维护一个针对vitepress SSR场景的组件库npm包
问题:

  1. 依据官方文档 Theme.enhanceApp 的说明异步的导入组件库npm包时 它可以解决我打包失败的问题;
  2. 但执行preview 预览打包后的产物时 第一次直接进入Component examples 首页的视图会残留 而且文档内容区域表现异常
  3. 这个现象当且只在第一次进入示例界面出现 刷新当前异常示例界面 界面视图恢复正常

Reproduction

我在stackblitz中 使用Element-plus 作为打包测试的目标 打包构建预览后没有复现我的问题 但是在本地vscode中 同样的代码配置进行预览它可以复现我的问题 若您没有在stackblitz复现 麻烦请在本地进行测试
https://stackblitz.com/edit/vite-pkx6x3v1?file=docs%2Findex.md,docs%2F.vitepress%2Fconfig.ts,docs%2Fmarkdown-examples.md,docs%2Fdemos%2Fbase.vue,docs%2F.vitepress%2Ftheme%2Findex.ts
步骤:
文档打包进行本地浏览器预览 直接在首页点击进入Component Examples界面

Expected behavior

第一次进入Component Examples界面 首页的视图会残留 而且文档内容区域表现异常

System Info

System:
    OS: macOS 15.2
    CPU: (8) arm64 Apple M1 Pro
    Memory: 66.73 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.12.2 - ~/.nvm/versions/node/v20.12.2/bin/node
    Yarn: 1.22.22 - ~/.nvm/versions/node/v20.12.2/bin/yarn
    npm: 10.7.0 - ~/.nvm/versions/node/v20.12.2/bin/npm
    pnpm: 9.1.1 - ~/.nvm/versions/node/v20.12.2/bin/pnpm
  Browsers:
    Chrome: 132.0.6834.160
    Safari: 18.2
  npmPackages:
    vitepress: latest => 1.6.3

Additional context

Image Image Image

Validations

Metadata

Metadata

Assignees

No one assigned

    Labels

    need more infoFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions