Components
- 手风琴
- 提示
- 警告对话框
- 宽高比
- 头像
- 徽章
- 面包屑导航
- 按钮
- 按钮组
- 日历 Calendar
- 卡片
- Carousel
- 图表 Chart
- 复选框
- 折叠面板
- 组合框
- 命令
- 上下文菜单
- 数据表格 Data Table
- 日期选择器 Date Picker
- 对话框 Dialog
- 抽屉
- 下拉菜单
- Empty
- 字段
- 悬停卡片
- 输入
- 输入组
- 输入 OTP
- 项目
- Kbd
- 标签
- 菜单栏
- 原生选择框
- 导航菜单 Navigation Menu
- 分页
- 弹出框
- 进度 Progress
- 单选框组
- 可调整大小
- 滚动区域 Scroll Area
- 选择框
- 分隔符 Separator
- 侧边栏 Sheet
- 侧边栏 Sidebar
- 骨架屏
- 滑块
- Sonner
- 加载指示器 Spinner
- 开关
- 表格
- 标签页 Tabs
- 文本域
- 吐司
- 切换按钮 Toggle
- 切换组
- 提示 Tooltip
- 排版
注意: 本指南针对 Remix。React Router 的相关内容,请参阅 React Router 指南。
创建项目
首先使用 create-remix 创建一个新的 Remix 项目:
pnpm dlx create-remix@latest my-app
运行 CLI
运行 shadcn 初始化命令来设置你的项目:
pnpm dlx shadcn@latest init
配置 components.json
系统将询问你一些问题来配置 components.json:
Which color would you like to use as base color? › Neutral应用结构
注意:此应用结构仅作为建议。你可以将文件放置在任何你想放的位置。
- 将 UI 组件放置在
app/components/ui文件夹中。 - 你自己的组件可以放在
app/components文件夹内。 app/lib文件夹包含所有的工具函数。我们在utils.ts中定义了cn辅助函数。app/tailwind.css文件包含全局 CSS。
安装 Tailwind CSS
pnpm add -D tailwindcss@latest autoprefixer@latest
然后创建 postcss.config.js 文件:
export default {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}最后,在 remix.config.js 文件中添加以下内容:
/** @type {import('@remix-run/dev').AppConfig} */
export default {
...
tailwind: true,
postcss: true,
...
};将 tailwind.css 添加到你的应用
在你的 app/root.tsx 文件中,导入 tailwind.css 文件:
import styles from "./tailwind.css?url"
export const links: LinksFunction = () => [
{ rel: "stylesheet", href: styles },
...(cssBundleHref ? [{ rel: "stylesheet", href: cssBundleHref }] : []),
]就这些了
现在你可以开始往你的项目中添加组件了。
pnpm dlx shadcn@latest add button
上面的命令会将 Button 组件添加到你的项目中。然后你可以这样导入它:
import { Button } from "~/components/ui/button"
export default function Home() {
return (
<div>
<Button>Click me</Button>
</div>
)
}