本指南将帮助你快速在项目中集成 SoybeanUI,让你在几分钟内开始使用我们的组件。
在开始之前,请确保你的项目满足以下要求:
如果你想要直接使用带有精美样式的组件,安装 @soybeanjs/ui:
# 使用 pnpm(推荐)
pnpm add @soybeanjs/ui
# 或使用 npm
npm install @soybeanjs/ui
# 或使用 yarn
yarn add @soybeanjs/ui如果你想要构建自己的设计系统,安装 @soybeanjs/headless:
pnpm add @soybeanjs/headless如果使用 @soybeanjs/ui,需要在项目入口文件中引入样式文件:
// main.ts 或 main.js
import '@soybeanjs/ui/styles.css';使用 unplugin-vue-components 可以自动导入组件,无需手动导入。
pnpm add -D unplugin-vue-components在 vite.config.ts 中配置:
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import Components from 'unplugin-vue-components/vite';
import { UiResolver } from '@soybeanjs/ui/resolver';
export default defineConfig({
plugins: [
vue(),
Components({
resolvers: [UiResolver()]
})
]
});配置完成后,你可以在任何 Vue 组件中直接使用 SoybeanUI 组件,无需手动导入:
<template>
<SButton>点击我</SButton>
<SInput placeholder="请输入内容" />
<SCard>
<p>这是一张卡片</p>
</SCard>
</template>你也可以手动导入需要的组件:
<script setup>
import { SButton, SInput, SCard } from '@soybeanjs/ui';
</script>
<template>
<SButton>点击我</SButton>
<SInput placeholder="请输入内容" />
<SCard>
<p>这是一张卡片</p>
</SCard>
</template>如果你使用 Nuxt 3,可以使用官方提供的 Nuxt 模块,配置更加简单:
pnpm add @soybeanjs/ui在 nuxt.config.ts 中添加模块:
export default defineNuxtConfig({
modules: ['@soybeanjs/ui/nuxt']
});配置完成后,你可以在 Nuxt 项目中直接使用所有 SoybeanUI 组件,无需额外配置。
如果你选择使用 @soybeanjs/headless,你需要自己编写样式。以下是一个简单的示例:
<script setup>
import { AccordionRoot, AccordionItem, AccordionTrigger, AccordionContent } from '@soybeanjs/headless';
</script>
<template>
<AccordionRoot>
<AccordionItem value="item-1">
<AccordionTrigger>这是标题</AccordionTrigger>
<AccordionContent>这是内容区域,你可以在这里放置任何内容。</AccordionContent>
</AccordionItem>
<AccordionItem value="item-2">
<AccordionTrigger>另一个标题</AccordionTrigger>
<AccordionContent>另一个内容区域。</AccordionContent>
</AccordionItem>
</AccordionRoot>
</template>
<style scoped>
/* 在这里添加你的自定义样式 */
</style>SoybeanUI 支持灵活的主题配置。你可以通过 ConfigProvider 组件来配置全局主题:
<script setup>
import { SConfigProvider } from '@soybeanjs/ui';
const themeConfig = {
theme: {
color: 'slate',
radius: 0.2
// ...更多配置选项
},
size: 'md'
};
</script>
<template>
<SConfigProvider :theme="themeConfig">
<YourApp />
</SConfigProvider>
</template>让我们创建一个简单的示例来验证安装是否成功:
<template>
<div class="p-4 space-y-4">
<h1 class="text-2xl font-bold">SoybeanUI 示例</h1>
<SButton color="primary" @click="handleClick">点击按钮</SButton>
<SInput v-model="inputValue" placeholder="请输入内容" class="w-64" />
<SCard>
<template #header>
<h3>卡片标题</h3>
</template>
<p>这是卡片的内容区域。</p>
<template #footer>
<SButton size="small">操作</SButton>
</template>
</SCard>
</div>
</template>
<script setup>
import { ref } from 'vue';
const inputValue = ref('');
function handleClick() {
alert('按钮被点击了!');
}
</script>import '@soybeanjs/ui/styles.css'@soybeanjs/ui 的最新版本tsconfig.json 中的类型配置unplugin-vue-componentsvite.config.ts 中的配置是否正确nuxt.config.ts 中的模块配置.nuxt 缓存目录后重新启动现在你已经成功安装了 SoybeanUI,可以:
祝你使用愉快!如果遇到任何问题,欢迎在 GitHub Issues 中提出。