Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .eslintrc-auto-import.json
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,7 @@
"ExtractPropTypes": true,
"ExtractPublicPropTypes": true,
"injectLocal": true,
"provideLocal": true
"provideLocal": true,
"useClipboardItems": true
}
}
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

## 简介

🗂️ 一个基于 Vue 3 + Naive UI + TS 的 Tab 切换选项卡演示项目,其内部抽象出了一个**比较贴近实战**的**项目管理系统**的业务场景,虽不涉及特别复杂的业务逻辑但也不失灵活,旨在更好地理解和展示如何使用 Tab 标签页组件,项目基于原子化 UnoCSS 框架配置主题,还自带一个模块化的组件开发环境,使页面组件、路由组件、状态管理和样式等模块可以根据 Modules 目录进行解耦,它是一个开箱即用的解决方案,也适合作为快速开发中后台前端,可用于学习和参考
🗂️ 一个基于 Vite5 + Vue3 + Naive UI + TS 的 Tab 切换选项卡演示项目,其内部抽象出了一个**比较贴近实战**的**项目管理系统**的业务场景,虽不涉及特别复杂的业务逻辑但也不失灵活,旨在更好地理解和展示如何使用 Tab 标签页组件,项目基于原子化 UnoCSS 框架配置主题,还自带一个模块化的组件开发环境,使页面组件、路由组件、状态管理和样式等模块可以根据 Modules 目录进行解耦,它是一个开箱即用的解决方案,也适合作为快速开发中后台前端,可用于学习和参考


__[🌈 Live Demo 在线体验](https://pdsuwwz.github.io/vue3-tab-demo)__
Expand All @@ -17,7 +17,7 @@ __[🌈 Live Demo 在线体验](https://pdsuwwz.github.io/vue3-tab-demo)__

* Naive UI 2.x
* Vue 3.3.x
* Vite 4.x
* Vite 5.x
* Pinia 2.x
* TypeScript 5.x
* VueUse
Expand Down
7 changes: 7 additions & 0 deletions auto-imports.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ declare global {
const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation']
const useCached: typeof import('@vueuse/core')['useCached']
const useClipboard: typeof import('@vueuse/core')['useClipboard']
const useClipboardItems: typeof import('@vueuse/core')['useClipboardItems']
const useCloned: typeof import('@vueuse/core')['useCloned']
const useColorMode: typeof import('@vueuse/core')['useColorMode']
const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog']
Expand Down Expand Up @@ -320,12 +321,16 @@ declare global {
declare global {
// @ts-ignore
export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef, App, ComponentPublicInstanceCostom, ComponentInternalInstance } from 'vue'
import('vue')
// @ts-ignore
export type { RouteRecordRaw, RouteLocationRaw, LocationQuery, NavigationFailure, RouteParams, RouteLocationNormalizedLoaded, RouteRecordName, NavigationGuard } from 'vue-router'
import('vue-router')
// @ts-ignore
export type { GlobalThemeOverrides, ConfigProviderProps, DataTableColumns, DataTableRowKey, DropdownOption, MenuOption, FormInst } from 'naive-ui'
import('naive-ui')
// @ts-ignore
export type { StoreActions } from 'pinia'
import('pinia')
}
// for vue template auto import
import { UnwrapRef } from 'vue'
Expand Down Expand Up @@ -465,6 +470,7 @@ declare module 'vue' {
readonly useBrowserLocation: UnwrapRef<typeof import('@vueuse/core')['useBrowserLocation']>
readonly useCached: UnwrapRef<typeof import('@vueuse/core')['useCached']>
readonly useClipboard: UnwrapRef<typeof import('@vueuse/core')['useClipboard']>
readonly useClipboardItems: UnwrapRef<typeof import('@vueuse/core')['useClipboardItems']>
readonly useCloned: UnwrapRef<typeof import('@vueuse/core')['useCloned']>
readonly useColorMode: UnwrapRef<typeof import('@vueuse/core')['useColorMode']>
readonly useConfirmDialog: UnwrapRef<typeof import('@vueuse/core')['useConfirmDialog']>
Expand Down Expand Up @@ -779,6 +785,7 @@ declare module '@vue/runtime-core' {
readonly useBrowserLocation: UnwrapRef<typeof import('@vueuse/core')['useBrowserLocation']>
readonly useCached: UnwrapRef<typeof import('@vueuse/core')['useCached']>
readonly useClipboard: UnwrapRef<typeof import('@vueuse/core')['useClipboard']>
readonly useClipboardItems: UnwrapRef<typeof import('@vueuse/core')['useClipboardItems']>
readonly useCloned: UnwrapRef<typeof import('@vueuse/core')['useCloned']>
readonly useColorMode: UnwrapRef<typeof import('@vueuse/core')['useColorMode']>
readonly useConfirmDialog: UnwrapRef<typeof import('@vueuse/core')['useConfirmDialog']>
Expand Down
63 changes: 32 additions & 31 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"version": "0.0.1",
"author": "Wisdom <pdsu.wwz@foxmail.com>",
"license": "MIT",
"type": "module",
"scripts": {
"dev": "vite --host",
"build": "vite build",
Expand Down Expand Up @@ -47,10 +48,10 @@
"url": "https://github.com/pdsuwwz/vue3-tab-demo/issues"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "6.4.2",
"@fortawesome/free-brands-svg-icons": "6.4.2",
"@fortawesome/free-regular-svg-icons": "6.4.2",
"@fortawesome/free-solid-svg-icons": "6.4.2",
"@fortawesome/fontawesome-svg-core": "6.5.1",
"@fortawesome/free-brands-svg-icons": "6.5.1",
"@fortawesome/free-regular-svg-icons": "6.5.1",
"@fortawesome/free-solid-svg-icons": "6.5.1",
"@fortawesome/vue-fontawesome": "~3.0.5",
"@vicons/antd": "^0.12.0",
"@vicons/carbon": "^0.12.0",
Expand All @@ -61,56 +62,56 @@
"@vicons/material": "^0.12.0",
"@vicons/tabler": "^0.12.0",
"@vicons/utils": "^0.1.4",
"@vueuse/core": "^10.5.0",
"axios": "1.6.0",
"@vueuse/core": "^10.7.0",
"axios": "1.6.2",
"echarts": "^5.4.3",
"js-cookie": "^3.0.5",
"lodash-es": "^4.17.21",
"naive-ui": "^2.35.0",
"nprogress": "^0.2.0",
"pinia": "^2.1.7",
"uuid": "^9.0.1",
"vue": "^3.3.8",
"vue": "^3.3.10",
"vue-router": "^4.2.5"
},
"devDependencies": {
"@babel/core": "^7.23.2",
"@babel/preset-env": "^7.23.2",
"@types/js-cookie": "^3.0.5",
"@types/lodash-es": "^4.17.10",
"@types/node": "^20.8.10",
"@types/nprogress": "^0.2.2",
"@typescript-eslint/eslint-plugin": "^6.10.0",
"@typescript-eslint/parser": "^6.10.0",
"@vitejs/plugin-vue": "^4.4.0",
"@vitest/coverage-v8": "^0.34.6",
"@vue/compiler-sfc": "^3.3.8",
"@vue/test-utils": "2.4.1",
"@babel/core": "^7.23.5",
"@babel/preset-env": "^7.23.5",
"@types/js-cookie": "^3.0.6",
"@types/lodash-es": "^4.17.12",
"@types/node": "^20.10.3",
"@types/nprogress": "^0.2.3",
"@typescript-eslint/eslint-plugin": "^6.13.2",
"@typescript-eslint/parser": "^6.13.2",
"@vitejs/plugin-vue": "^4.5.1",
"@vitest/coverage-v8": "^1.0.1",
"@vue/compiler-sfc": "^3.3.10",
"@vue/test-utils": "2.4.3",
"babel-plugin-transform-vite-meta-env": "^1.0.3",
"cross-env": "^7.0.3",
"eslint": "^8.53.0",
"eslint": "^8.55.0",
"eslint-plugin-html": "7.1.0",
"eslint-plugin-import": "^2.29.0",
"eslint-plugin-vue": "^9.18.1",
"eslint-plugin-vue": "^9.19.2",
"identity-obj-proxy": "^3.0.0",
"jsdom": "^22.1.0",
"postcss": "^8.4.31",
"jsdom": "^23.0.1",
"postcss": "^8.4.32",
"postcss-html": "^1.5.0",
"postcss-scss": "^4.0.9",
"rollup": "^4.3.0",
"rollup": "^4.6.1",
"sass": "^1.69.5",
"stylelint": "^15.11.0",
"stylelint-config-recommended-scss": "13.1.0",
"stylelint-config-recommended-vue": "^1.5.0",
"stylelint-config-standard": "^34.0.0",
"stylelint-config-standard-scss": "11.1.0",
"sucrase": "^3.34.0",
"typescript": "^5.2.2",
"unocss": "^0.57.2",
"unplugin-auto-import": "^0.16.7",
"unplugin-vue-components": "^0.25.2",
"vite": "^4.5.0",
"vite-svg-loader": "^4.0.0",
"vitest": "^0.34.6"
"typescript": "^5.3.2",
"unocss": "^0.58.0",
"unplugin-auto-import": "^0.17.2",
"unplugin-vue-components": "^0.26.0",
"vite": "^5.0.5",
"vite-svg-loader": "^5.1.0",
"vitest": "^1.0.1"
}
}
Loading