? 快速了解 vx.dev 与 shadcn/ui 的核心优势
? 准备工作:搭建项目基础环境
React 项目初始化
npx create-react-app my-project --template typescript(如果需要 TypeScript 的话),或者直接 npx create-react-app my-project,等一会儿,一个新的 React 项目就创建好了。接着进入项目目录,cd my-project,之后就要安装 vx.dev 和 shadcn/ui 的相关依赖了。Vue 项目初始化
vue create my-vue-project,然后按照提示选择配置,比如是否使用 TypeScript、是否安装 Vue Router 等等。创建好后进入项目目录,准备安装依赖。Svelte 项目初始化
npx degit sveltejs/template my-svelte-project 就能创建一个基础项目,进入项目后,运行 npm install 安装依赖,接下来也是要安装 vx.dev 和 shadcn/ui 的包。⚙️ 安装依赖:让工具们协同工作
npm install vx.dev shadcn-ui tailwindcss postcss autoprefixer,这里面 tailwindcss 是 shadcn/ui 依赖的样式框架,postcss 和 autoprefixer 是用来处理 CSS 样式的,能让你的样式在不同浏览器上都正常显示。安装完成后,还需要对 Tailwind CSS 进行配置,运行 npx tailwindcss init -p,这会生成 tailwind.config.js 文件,你需要在里面配置样式的路径,比如把 content 指向你的组件文件所在的目录,这样 Tailwind 就能正确识别并应用样式了。? 配置 vx.dev:让它知道你的框架需求
.vxrc 文件,或者在 package.json 里添加 vx 配置字段。React 配置
{
"framework": "react",
"componentsDir": "src/components",
"pagesDir": "src/pages"
}
Vue 配置
{
"framework": "vue",
"componentsDir": "src/components",
"viewsDir": "src/views",
"useVue3": true
}
Svelte 配置
{
"framework": "svelte",
"componentsDir": "src/components"
}
?️ 使用 shadcn/ui 生成组件:快速搭建 UI
查看可用组件列表
npx shadcn-ui list,就能看到所有可用的组件,比如 button、input、select、modal 等等,每个组件还有对应的描述,方便你选择需要的组件。生成 React 组件
npx shadcn-ui add button --framework react,这时候会提示你选择按钮的样式,比如是否是幽灵按钮、是否有图标等等,你根据需求选择后,一个符合 shadcn/ui 样式的 React 按钮组件就会生成到指定的组件目录里。生成的组件代码里已经包含了 Tailwind CSS 的样式类,你直接在项目里引入就能用,特别方便。生成 Vue 组件
npx shadcn-ui add button --framework vue,同样选择样式后,会生成 Vue 组件,组件的语法是 Vue 的单文件组件格式,里面的样式部分也正确应用了 Tailwind 的类。生成 Svelte 组件
npx shadcn-ui add button --framework svelte,生成的组件是 Svelte 的 .svelte 文件,结构简洁,样式也自动应用好了。? 组件使用:在项目中引入并应用
React 中使用
import { Button } from './components/Button',然后在 JSX 里直接使用,,这里的 variant 参数就是你生成组件时选择的样式变体,不同的变体有不同的外观,你可以根据页面需求来选择。Vue 中使用
import Button from './components/Button.vue',然后在 template 里使用,,注意 Vue 里的属性名要用 kebab-case,和 React 的驼峰命名不一样,这点要注意,不然可能会报错。Svelte 中使用
import Button from './components/Button.svelte',然后在组件里使用 ,Svelte 的组件使用和原生 HTML 很像,上手很快。? 高级技巧:自定义组件样式和功能
修改 Tailwind 配置
theme.extend 里添加:{
"colors": {
"my-custom-color": "#1a73e8"
},
"spacing": {
"128": "32rem"
}
}
扩展组件
集成其他库
? 常见问题解决
样式不生效
content 路径是否包含了生成的组件文件。然后检查是否在项目的 CSS 文件中引入了 Tailwind 的样式,一般在 index.css 或者 App.css 里添加 @tailwind base; @tailwind components; @tailwind utilities; 这三行代码。框架不识别
.vxrc 文件或者 package.json 里的配置是否正确,框架名称是否拼写错误,目录路径是否正确指向了组件和页面所在的位置。组件生成失败
【该文章由dudu123.com嘟嘟 ai 导航整理,嘟嘟 AI 导航汇集全网优质网址资源和最新优质 AI 工具】