# small-tail-common-ui-vue3 **Repository Path**: tongchaowei/small-tail-common-ui-vue3 ## Basic Information - **Project Name**: small-tail-common-ui-vue3 - **Description**: 小尾巴通用 Vue3 UI 组件库 st-common-ui-vue3 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-11 - **Last Updated**: 2025-02-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Small Tail Common UI Vue3 Small Tail 前端通用 Vue3 UI 组件库项目 ## 组件库文档 - [https://small-tail-doc.netlify.app/](https://small-tail-doc.netlify.app/) - [https://tongchaowei.github.io/small-tail-doc/](https://tongchaowei.github.io/small-tail-doc/) ## 组件库使用示例视频 - [https://www.bilibili.com/video/BV1nQD3YvE5q/](https://www.bilibili.com/video/BV1nQD3YvE5q/) ## 安装 ```bash npm install st-common-ui-vue3 ``` ## 使用 ### 自动按需引入 1. 安装自动加载组件的插件 ```bash npm install unplugin-vue-components -D ``` 2. 配置组件自动按需加载引入 vite.config.js | vite.config.ts ```ts import {defineConfig} from 'vite' import vue from '@vitejs/plugin-vue' // 自动加载组件的 Vite 插件 // [!code ++] import Components from 'unplugin-vue-components/vite' // [!code ++] // 按需自动加载 st-common-ui-vue3 组件的解析器,用于帮助 unplugin-vue-components 自动按需加载 st-common-ui-vue3 组件 // [!code ++] import {StCommonUIVue3Resolver} from "st-common-ui-vue3" // [!code ++] // https://vite.dev/config/ export default defineConfig({ plugins: [ vue(), // 配置自动加载组件的 Vite 插件 // [!code ++] Components({ // [!code ++] // 配置解析器,用于帮助 unplugin-vue-components 解析并按需加载组件 // [!code ++] resolvers: [ // [!code ++] StCommonUIVue3Resolver() // [!code ++] ], // [!code ++] }) // [!code ++] ], }) ``` 3. 配置 TypeScript 代码提示 如果在你的项目中有使用 TypeScript,为了保证自动按需引入的组件能够被 TypeScript 正确识别,并且有相应的代码提示,那么我们需要==在 TypeScript 配置文件中添加== unplugin-vue-components 自动生成的包含==自动按需引入的组件的类型声明的文件 components.d.ts==。 components.d.ts 文件是在项目启动时**由 unplugin-vue-components 自动生成**,同时**需要在项目中使用过至少一次组件并且启动运行项目访问页面**后,相应的 st-common-ui-vue3 组件才会有相应的代码提示。 tsconfig.app.json ```json { "compilerOptions": { ... }, "include": [ "src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "components.d.ts" // [!code ++] ] } ``` 4. 使用组件 > 这里以 StGhostTextHover 组件为例。 App.vue ```vue ``` ### 手动按需引入 #### 全局引入组件库完整样式后手动按需引入使用组件 1. 在项目入口文件中全局引入组件库的完整样式文件 main.js | main.ts ```js import 'st-common-ui-vue3/es/st-common-ui-vue3.css' // [!code ++] import { createApp } from 'vue' import App from './App.vue' ``` 2. 按需手动引入组件后使用组件 > 这里以 StGhostTextHover 组件为例。 App.vue ```vue ``` #### 手动按需引入组件和相应的样式后使用组件 > 这里以 StGhostTextHover 组件为例。 App.vue ```vue ``` ### 全局注册 #### 全局注册所有组件 1. 在项目入口文件中全局引入组件库的完整样式文件 main.js | main.ts ```js import 'st-common-ui-vue3/es/st-common-ui-vue3.css' // [!code ++] import { createApp } from 'vue' import App from './App.vue' ``` 2. 在项目入口文件中全局注册组件库中的所有组件 main.js | main.ts ```js import 'st-common-ui-vue3/es/st-common-ui-vue3.css' import { createApp } from 'vue' import App from './App.vue' // st-common-ui-vue3 组件库中所有组件的注册插件 // [!code ++] import {StCommonUiVue3} from "st-common-ui-vue3" // [!code ++] createApp(App) // 全局注册组件库中的所有组件 // [!code ++] .use(StCommonUiVue3) // [!code ++] .mount('#app') ``` 3. 使用组件 > 这里以 StGhostTextHover 组件为例。 App.vue ```vue ``` #### 全局注册指定组件 > 这里以 StGhostTextHover 组件为例。 1. 在项目入口文件中引入要全局注册的指定组件的样式文件 main.js | main.ts ```js import 'st-common-ui-vue3/es/components/StGhostTextHover/StGhostTextHover.css' // [!code ++] import { createApp } from 'vue' import App from './App.vue' ``` ::: 2. 在项目入口文件中全局注册指定组件 main.js | main.ts ```js import 'st-common-ui-vue3/es/components/StGhostTextHover/StGhostTextHover.css' import { createApp } from 'vue' import App from './App.vue' // st-common-ui-vue3 组件库中 StGhostTextHover 组件的注册插件 // [!code ++] import {StGhostTextHoverRegister} from "st-common-ui-vue3" // [!code ++] createApp(App) // 全局注册组件库中的 StGhostTextHover 组件 // [!code ++] .use(StGhostTextHoverRegister) // [!code ++] .mount('#app') ``` 3. 使用组件 App.vue ```vue ```