Docs
components.json

components.json

项目配置

components.json 文件保存了项目配置。

shadcn/ui 用它来了解项目是如何设置的,以及如何为您的项目生成个性化的组件。

您可以通过运行以下命令在项目中创建 components.json :

npx shadcn@latest init

更多信息请查看 CLI section

$schema

你可以在这里查看components.json的 JSON Schema here

components.json
{
  "$schema": "https://ui.shadcn.com/schema.json"
}

风格

组件的样式, 初始化后无法更改!

components.json
{
  "style": "default" | "new-york"
}
Create project
Deploy your new project in one-click.

tailwind

帮助 CLI 了解如何你项目中 Tailwind CSS 的配置。

如何设置 Tailwind CSS,请查看 installation section.

tailwind.config

tailwind.config.js 文件所在路径。

components.json
{
  "tailwind": {
    "config": "tailwind.config.js" | "tailwind.config.ts"
  }
}

tailwind.css

将 CSS 文件 导入到项目 Tailwind CSS 配置中。

components.json
{
  "tailwind": {
    "css": "styles/global.css"
  }
}

tailwind.baseColor

用于生成组件的默认调色板。 初始化后无法更改!

components.json
{
  "tailwind": {
    "baseColor": "gray" | "neutral" | "slate" | "stone" | "zinc"
  }
}

tailwind.cssVariables

您可以选择使用 CSS 变量或 Tailwind CSS 工具类进行主题设置。

使用 Tailwind CSS 工具类进行主题设置 set tailwind.cssVariables to false. 使用 CSS variables, set tailwind.cssVariables to true.

components.json
{
  "tailwind": {
    "cssVariables": `true` | `false`
  }
}

更多信息请查看 主题文档.

初始化后无法更改 要在 Tailwind CSS 的 CSS 变量和工具类之间切换,您必须删除并重新安装组件。

tailwind.prefix

用于 Tailwind CSS 工具类的前缀,将添加带有此前缀的组件。

components.json
{
  "tailwind": {
    "prefix": "tw-"
  }
}

rsc

是否启用对 React Server Component 的支持

当设置为 true 时,CLI 会自动向客户端组件添加 use client 指令。

components.json
{
  "rsc": `true` | `false`
}

tsx

选择使用 TypeScript 或 JavaScript 组件

设置改选项为 false 允许组件添加扩展名 .jsx 的文件。

components.json
{
  "tsx": `true` | `false`
}

aliases

CLI 使用这些值以及 tsconfig.jsonjsconfig.json 文件中的 paths 配置来将生成的组件放置在正确的位置。

必须在 tsconfig.jsonjsconfig.json 文件中设置 Path aliases

aliases.utils

设置 utility 函数别名。

components.json
{
  "aliases": {
    "utils": "@/lib/utils"
  }
}

aliases.components

设置组件别名。

components.json
{
  "aliases": {
    "components": "@/components"
  }
}

aliases.ui

设置 ui组件的别名。

CLI 将使用 aliases.ui 值来确定 ui 组件的位置。如果您想自定义 ui 组件的安装目录,请使用此配置。

components.json
{
  "aliases": {
    "ui": "@/app/ui"
  }
}

aliases.lib

Import alias for lib functions such as format-date or generate-id.

components.json
{
  "aliases": {
    "lib": "@/lib"
  }
}

aliases.hooks

Import alias for hooks such as use-media-query or use-toast.

components.json
{
  "aliases": {
    "hooks": "@/hooks"
  }
}