113k

React Router

为 React Router 安装和配置 shadcn/ui。

选择与您起点相符的设置。

使用 shadcn/create

构建您的预设

打开 shadcn/create 并以可视化方式构建您的预设。选择您的样式、颜色、字体、图标等。

打开 shadcn/create

创建项目

点击 Create Project,选择您的包管理器,并复制生成的命令。

生成的命令将类似于:

pnpm dlx shadcn@latest init --preset [CODE] --template react-router

确切命令将包含您选择的选项,例如 --base--monorepo--rtl

添加组件

Card 组件添加到您的项目:

pnpm dlx shadcn@latest add card

如果您创建了 monorepo,请从 apps/web 运行命令,或从仓库根目录指定工作区:

pnpm dlx shadcn@latest add card -c apps/web

上述命令会将 Card 组件添加到您的项目。然后您可以这样导入它:

app/routes/home.tsx
import {
  Card,
  CardContent,
  CardDescription,
  CardHeader,
  CardTitle,
} from "~/components/ui/card"
 
export default function Home() {
  return (
    <Card className="max-w-sm">
      <CardHeader>
        <CardTitle>项目概览</CardTitle>
        <CardDescription>
          跟踪您的 React Router 应用的进度和最近活动。
        </CardDescription>
      </CardHeader>
      <CardContent>
        您的设计系统已就绪。开始构建您的下一个组件。
      </CardContent>
    </Card>
  )
}

如果您创建了 monorepo,请更新 apps/web/app/routes/home.tsx 并改为从 @workspace/ui/components/card 导入。

使用 CLI

创建项目

运行 init 命令来搭建一个新的 React Router 项目。按照提示配置您的项目:base、preset、monorepo 等。

pnpm dlx shadcn@latest init -t react-router

对于 monorepo 项目,使用 --monorepo 参数:

pnpm dlx shadcn@latest init -t react-router --monorepo

添加组件

Card 组件添加到您的项目:

pnpm dlx shadcn@latest add card

如果您创建了 monorepo,请从 apps/web 运行命令,或从仓库根目录指定工作区:

pnpm dlx shadcn@latest add card -c apps/web

上述命令会将 Card 组件添加到您的项目。然后您可以这样导入它:

app/routes/home.tsx
import {
  Card,
  CardContent,
  CardDescription,
  CardHeader,
  CardTitle,
} from "~/components/ui/card"
 
export default function Home() {
  return (
    <Card className="max-w-sm">
      <CardHeader>
        <CardTitle>项目概览</CardTitle>
        <CardDescription>
          跟踪您的 React Router 应用的进度和最近活动。
        </CardDescription>
      </CardHeader>
      <CardContent>
        您的设计系统已就绪。开始构建您的下一个组件。
      </CardContent>
    </Card>
  )
}

如果您创建了 monorepo,请更新 apps/web/app/routes/home.tsx 并改为从 @workspace/ui/components/card 导入。

现有项目

创建项目

如果您需要一个新的 React Router 项目,请先创建一个。否则,跳过此步骤。

pnpm create react-router@latest

create-react-router 已经为您配置了 Tailwind CSS 和默认的 ~/* 导入别名。如果您要将 shadcn/ui 添加到较旧或自定义的 React Router 应用中,请确保在继续之前两者都已配置好。

运行 CLI

运行 shadcn init 命令以在您的项目中设置 shadcn/ui。

pnpm dlx shadcn@latest init

添加组件

您现在可以开始向项目添加组件了。

pnpm dlx shadcn@latest add button

上述命令会将 Button 组件添加到您的项目中。然后,您可以这样导入它:

app/routes/home.tsx
import { Button } from "~/components/ui/button"
 
export default function Home() {
  return (
    <div className="flex min-h-svh flex-col items-center justify-center">
      <Button>点击我</Button>
    </div>
  )
}