手动添加依赖项到您的项目中。
添加 Tailwind CSS
组件使用 Tailwind CSS 进行样式设置。您需要在项目中安装 Tailwind CSS。
添加依赖项
将以下依赖项添加到您的项目中:
pnpm add tailwindcss-animate class-variance-authority clsx tailwind-merge lucide-react
配置路径别名
在 tsconfig.json 文件中配置路径别名。
tsconfig.json
{"compilerOptions": {"baseUrl": ".","paths": {"@/*": ["./*"]}}}
@ 别名是首选项。如果您愿意,也可以使用其他别名。
配置 tailwind.config.js
这是我的 tailwind.config.js 文件的样子:
tailwind.config.js
/** @type {import('tailwindcss').Config} */module.exports = {darkMode: ["class"],content: ["app/**/*.{ts,tsx}", "components/**/*.{ts,tsx}"],theme: {extend: {colors: {border: "hsl(var(--border))",input: "hsl(var(--input))",ring: "hsl(var(--ring))",background: "hsl(var(--background))",foreground: "hsl(var(--foreground))",primary: {DEFAULT: "hsl(var(--primary))",foreground: "hsl(var(--primary-foreground))",},secondary: {DEFAULT: "hsl(var(--secondary))",foreground: "hsl(var(--secondary-foreground))",},destructive: {DEFAULT: "hsl(var(--destructive))",foreground: "hsl(var(--destructive-foreground))",},muted: {DEFAULT: "hsl(var(--muted))",foreground: "hsl(var(--muted-foreground))",},accent: {DEFAULT: "hsl(var(--accent))",foreground: "hsl(var(--accent-foreground))",},popover: {DEFAULT: "hsl(var(--popover))",foreground: "hsl(var(--popover-foreground))",},card: {DEFAULT: "hsl(var(--card))",foreground: "hsl(var(--card-foreground))",},},borderRadius: {lg: `var(--radius)`,md: `calc(var(--radius) - 2px)`,sm: "calc(var(--radius) - 4px)",},},},plugins: [require("tailwindcss-animate")],}
配置样式
将以下内容添加到您的 styles/globals.css 文件中。您可以在 主题部分 中了解更多关于使用 CSS 变量进行主题设置的信息。
globals.css
@tailwind base;@tailwind components;@tailwind utilities;@layer base {:root {--background: 0 0% 100%;--foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 47.4% 11.2%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--card: 0 0% 100%;--card-foreground: 222.2 47.4% 11.2%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 100% 50%;--destructive-foreground: 210 40% 98%;--ring: 215 20.2% 65.1%;--radius: 0.5rem;}.dark {--background: 224 71% 4%;--foreground: 213 31% 91%;--muted: 223 47% 11%;--muted-foreground: 215.4 16.3% 56.9%;--accent: 216 34% 17%;--accent-foreground: 210 40% 98%;--popover: 224 71% 4%;--popover-foreground: 215 20.2% 65.1%;--border: 216 34% 17%;--input: 216 34% 17%;--card: 224 71% 4%;--card-foreground: 213 31% 91%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 1.2%;--secondary: 222.2 47.4% 11.2%;--secondary-foreground: 210 40% 98%;--destructive: 0 63% 31%;--destructive-foreground: 210 40% 98%;--ring: 216 34% 17%;}}@layer base {* {@apply border-border;}body {@apply font-sans antialiased bg-background text-foreground;}}
添加 cn 助手函数
lib/utils.ts
import { clsx, type ClassValue } from "clsx"import { twMerge } from "tailwind-merge"export function cn(...inputs: ClassValue[]) {return twMerge(clsx(inputs))}
创建 components.json 文件
在项目根目录创建一个 components.json 文件。
components.json
{"$schema": "https://ui.shadcn.com/schema.json","style": "new-york","rsc": false,"tsx": true,"tailwind": {"config": "tailwind.config.js","css": "src/index.css","baseColor": "zinc","cssVariables": true,"prefix": ""},"aliases": {"components": "@/components","utils": "@/lib/utils","ui": "@/components/ui","lib": "@/lib","hooks": "@/hooks"},"iconLibrary": "lucide"}
就这样
现在,您可以开始向项目中添加组件。
