UNPKG

vitepress-theme-base-teek

Version:

查看 [使用说明](https://vp.xiaoying.org.cn/pages/9d746f)

33 lines (26 loc) 1 kB
import { App } from 'vue'; /** * 自动注册宿主项目中 .vitepress/theme/components 目录下的组件 * * @param app VitePress 应用实例 */ export async function autoRegisterComponents(app: App ) { try { // 开发环境 // const modules = import.meta.glob(`../../apps/docs/.vitepress/theme/components/*.vue`); const modules = import.meta.glob('/docs/.vitepress/theme/components/*.vue'); for (const [path, module] of Object.entries(modules)) { const componentName = path.split('/').pop()?.replace('.vue', ''); if (componentName) { try { const componentModule = await (module as () => Promise<any>)(); app.component(componentName, componentModule.default || componentModule); } catch (importError) { console.debug(`组件 ${componentName} 导入失败:`, importError); } } } } catch (error) { console.error('自动注册组件时出错:', error); } }