@gsc-basic/components
v1.0.3
Published
Web Components for GSC Basic Team
Readme
@gsc-basic/components 开发说明
使用 Vite 以 library mode 构建,默认样式体系为 UnoCSS。
目录结构(核心)
packages/components
index.js # 包入口(默认导出 install + re-export src/index.js)
package.json
vite.config.mjs # library build 配置(含 @ 别名)
uno.config.mjs # 本包 UnoCSS 配置(含 shadcn preset)
tsconfig.json # TS 项目编辑器别名:@/* -> src/*(shadcn 组件使用 TS)
components.json # shadcn-vue CLI 配置(本仓库 shadcn 部分使用 TS:typescript=true)
tailwind.config.js # 仅用于满足 shadcn-vue CLI 的占位文件(真实样式用 UnoCSS)
src/
index.js # 组件库对外导出入口(仅导出业务组件)
styles/tokens.css # 设计变量(含 shadcn tokens + dark 覆盖)
<ComponentName>/ # 对外组件(示例:Grid/、ConfigProvider/ 等)
index.js # withInstall 包装导出
src/*.vue # 组件实现
components/ui/** # shadcn-vue 生成/维护的内部 UI 组件(不要从 src/index.js 导出)
lib/** # 内部工具(例如 cn class 合并)
stories/**/*.stories.js # Storybook stories新增“对外组件”的推荐流程
建目录:
packages/components/src/<ComponentName>/src/<ComponentName>.vue写导出文件:
packages/components/src/<ComponentName>/index.js
推荐模板:
import { withInstall } from '@gsc-basic/utils';
import Comp from './src/<ComponentName>.vue';
export const GscComponentName = withInstall(Comp);
export default GscComponentName;- 在
packages/components/src/index.js里 re-export:
export * from './<ComponentName>';- 增加 Storybook:
packages/components/stories/<ComponentName>.stories.js
Storybook / stories 编写规范
- stories 目录:
packages/components/stories/**/*.stories.js - 组件库对外组件:推荐从
@gsc-basic/components引入(走真实导出路径)
