Components
- 手风琴
- 提示
- 警告对话框
- 宽高比
- 头像
- 徽章
- 面包屑导航
- 按钮
- 按钮组
- 日历 Calendar
- 卡片
- 轮播图
- 图表 Chart
- 复选框
- 折叠面板
- 组合框
- 命令
- 上下文菜单
- 数据表格 Data Table
- 日期选择器 Date Picker
- 对话框 Dialog
- 方向
- 抽屉
- 下拉菜单
- 空状态
- 字段
- 悬停卡片
- 输入
- 输入组
- Input OTP
- 项目
- Kbd
- 标签
- 菜单栏
- 原生选择框
- 导航菜单 Navigation Menu
- 分页
- 弹出框
- 进度 Progress
- 单选框组
- 可调整大小
- 滚动区域 Scroll Area
- 选择框
- 分隔符 Separator
- 侧边栏 Sheet
- 侧边栏 Sidebar
- 骨架屏
- 滑块
- Sonner
- 加载指示器 Spinner
- 开关
- 表格
- 标签页 Tabs
- 文本域
- 吐司
- 切换按钮 Toggle
- 切换组
- 提示 Tooltip
- 排版
2026年5月 - 包导入和目标别名
使用 package.json 导入和可移植的注册表目标别名来配置 shadcn/ui。
我们已在 shadcn@4.7.0 的 files.target 中添加了对包导入和别名的支持。
包导入#
shadcn CLI 现在支持用于安装组件、重写导入以及解析第三方注册表的 package.json#imports。你可以直接使用 package.json 中私有的 #... 导入别名,而不必仅依赖 tsconfig.json 中的 compilerOptions.paths。
{
"imports": {
"#components/*": "./src/components/*.tsx",
"#lib/*": "./src/lib/*.ts",
"#hooks/*": "./src/hooks/*.ts"
}
}然后在 components.json 中使用相同的根路径:
{
"aliases": {
"components": "#components",
"ui": "#components/ui",
"lib": "#lib",
"hooks": "#hooks",
"utils": "#lib/utils"
}
}这也适用于 monorepo,其中应用本地文件使用包导入,共享 UI 文件则从工作区包导出中导入。
有关设置详情,请参阅包导入指南。
目标别名#
注册表项现在可以在 files[].target 中使用目标别名,将文件安装到用户配置的 shadcn 目录下。例如,下面的注册表项会将 prompt-input.tsx 文件安装到 ui/ai 目录下。
{
"files": [
{
"path": "registry/default/ai/prompt-input.tsx",
"type": "registry:ui",
"target": "@ui/ai/prompt-input.tsx"
}
]
}更多详情请参阅注册表示例。