插件

插件

可选的包入口,用于共享玻璃预设和其他按需启用的功能。

插件是可选的包入口,用来扩展核心组件库,而不改变根入口。它们不会从 @xingxingmofashu/ui 重新导出,因此没有导入某个插件的应用不会打包它的代码 或样式。

导入路径

插件入口遵循包结构:

入口导入路径
React 或 TypeScript 模块@xingxingmofashu/ui/plugins/<name>
样式表@xingxingmofashu/ui/plugins/<name>/index.css

例如,玻璃预设插件提供:

import {
  GlassPresetProvider,
  GlassPresetScope,
} from "@xingxingmofashu/ui/plugins/glass-preset";
@import "@xingxingmofashu/ui/plugins/glass-preset/index.css";

通配导出会把模块解析到 plugins/<name>/index,可选样式表解析到 plugins/<name>/index.css。

样式

插件不会从核心样式表中自动导入自己的样式。带有 CSS 的插件需要你在核心样式表 之后显式导入:

@import "tailwindcss";
@import "@xingxingmofashu/ui";
@import "@xingxingmofashu/ui/plugins/glass-preset/index.css";

插件样式保持按需启用,意味着核心样式表可以独立工作,未使用的插件样式也不会 进入构建产物。

客户端边界

插件遵循与核心组件相同的 React 边界。使用 hooks 或浏览器 API 的模块会带有 "use client" 指令。服务端安全的辅助函数(例如玻璃预设脚本生成器)可以在服务端 组件中渲染或调用。具体入口请查看各插件页面。