文档
TanStack Start
TanStack Start
为 TanStack Start 安装和配置 shadcn/ui。
创建项目
首先,按照 TanStack Start 网站上的 从零开始构建项目 指南创建一个新的 TanStack Start 项目。
暂时不要添加 Tailwind。我们将在下一步安装 Tailwind v4。
添加 Tailwind
安装 tailwindcss
及其依赖项。
pnpm add tailwindcss @tailwindcss/postcss postcss
创建 postcss.config.ts
在你的项目根目录创建一个 postcss.config.ts
文件。
postcss.config.ts
export default {
plugins: {
"@tailwindcss/postcss": {},
},
}
创建 app/styles/app.css
在 app/styles
目录中创建一个 app.css
文件,并导入 tailwindcss
app/styles/app.css
@import "tailwindcss" source("../");
导入 app.css
app/routes/__root.tsx
import type { ReactNode } from "react"
import { Outlet, createRootRoute } from "@tanstack/react-router"
import { Meta, Scripts } from "@tanstack/start"
import appCss from "@/styles/app.css?url"
export const Route = createRootRoute({
head: () => ({
meta: [
{
charSet: "utf-8",
},
{
name: "viewport",
content: "width=device-width, initial-scale=1",
},
{
title: "TanStack Start Starter",
},
],
links: [
{
rel: "stylesheet",
href: appCss,
},
],
}),
component: RootComponent,
})
编辑 tsconfig.json 文件
将以下代码添加到 tsconfig.json
文件以解析路径。
tsconfig.json
{
"compilerOptions": {
"jsx": "react-jsx",
"moduleResolution": "Bundler",
"module": "ESNext",
"target": "ES2022",
"skipLibCheck": true,
"strictNullChecks": true,
"baseUrl": ".",
"paths": {
"@/*": ["./app/*"]
}
}
}
运行 CLI
运行 shadcn
init 命令来设置你的项目
pnpm dlx shadcn@canary init
这将在你的项目根目录中创建一个 components.json
文件,并在 app/styles/app.css
中配置 CSS 变量。
就这样
你现在可以开始向你的项目添加组件了。
pnpm dlx shadcn@canary add button
上面的命令会将 Button
组件添加到你的项目中。然后你可以像这样导入它
app/routes/index.tsx
import { Button } from "@/components/ui/button"
function Home() {
const router = useRouter()
const state = Route.useLoaderData()
return (
<div>
<Button>Click me</Button>
</div>
)
}