自动导入
This commit is contained in:
		
							
								
								
									
										4
									
								
								.eslintrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								.eslintrc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| { | ||||
|   "extends":"@mistjs/eslint-config-vue", | ||||
|   "rules":{} | ||||
| } | ||||
							
								
								
									
										24
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| # Logs | ||||
| logs | ||||
| *.log | ||||
| npm-debug.log* | ||||
| yarn-debug.log* | ||||
| yarn-error.log* | ||||
| pnpm-debug.log* | ||||
| lerna-debug.log* | ||||
|  | ||||
| node_modules | ||||
| dist | ||||
| dist-ssr | ||||
| *.local | ||||
|  | ||||
| # Editor directories and files | ||||
| .vscode/* | ||||
| !.vscode/extensions.json | ||||
| .idea | ||||
| .DS_Store | ||||
| *.suo | ||||
| *.ntvs* | ||||
| *.njsproj | ||||
| *.sln | ||||
| *.sw? | ||||
							
								
								
									
										3
									
								
								.vscode/extensions.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.vscode/extensions.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| { | ||||
|   "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] | ||||
| } | ||||
							
								
								
									
										18
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| # Vue 3 + TypeScript + Vite | ||||
|  | ||||
| This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more. | ||||
|  | ||||
| ## Recommended IDE Setup | ||||
|  | ||||
| - [VS Code](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). | ||||
|  | ||||
| ## Type Support For `.vue` Imports in TS | ||||
|  | ||||
| TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. | ||||
|  | ||||
| If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: | ||||
|  | ||||
| 1. Disable the built-in TypeScript Extension | ||||
|    1. Run `Extensions: Show Built-in Extensions` from VSCode's command palette | ||||
|    2. Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` | ||||
| 2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. | ||||
							
								
								
									
										13
									
								
								index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								index.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
|   <head> | ||||
|     <meta charset="UTF-8" /> | ||||
|     <link rel="icon" type="image/svg+xml" href="/vite.svg" /> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||
|     <title>Vite + Vue + TS</title> | ||||
|   </head> | ||||
|   <body> | ||||
|     <div id="app"></div> | ||||
|     <script type="module" src="/src/main.ts"></script> | ||||
|   </body> | ||||
| </html> | ||||
							
								
								
									
										32
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| { | ||||
|   "name": "jvyou-admin-view", | ||||
|   "private": true, | ||||
|   "version": "0.0.0", | ||||
|   "type": "module", | ||||
|   "scripts": { | ||||
|     "dev": "vite", | ||||
|     "build": "vue-tsc && vite build", | ||||
|     "preview": "vite preview" | ||||
|   }, | ||||
|   "dependencies": { | ||||
|     "@vueuse/core": "^10.2.0", | ||||
|     "pinia": "^2.1.4", | ||||
|     "vue": "^3.2.47", | ||||
|     "vue-i18n": "^9.2.2", | ||||
|     "vue-router": "^4.2.2" | ||||
|   }, | ||||
|   "devDependencies": { | ||||
|     "@mistjs/eslint-config-vue": "^0.0.5", | ||||
|     "@unocss/reset": "^0.53.1", | ||||
|     "@vitejs/plugin-vue": "^4.1.0", | ||||
|     "@vue/runtime-core": "^3.3.4", | ||||
|     "eslint": "^8.22.0", | ||||
|     "naive-ui": "^2.34.4", | ||||
|     "typescript": "^5.0.2", | ||||
|     "unocss": "^0.53.1", | ||||
|     "unplugin-auto-import": "^0.16.4", | ||||
|     "unplugin-vue-components": "^0.25.1", | ||||
|     "vite": "^4.3.9", | ||||
|     "vue-tsc": "^1.4.2" | ||||
|   } | ||||
| } | ||||
							
								
								
									
										4829
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										4829
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1
									
								
								public/vite.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								public/vite.svg
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg> | ||||
| After Width: | Height: | Size: 1.5 KiB | 
							
								
								
									
										14
									
								
								src/App.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								src/App.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| <script setup lang="ts"> | ||||
| </script> | ||||
|  | ||||
| <template> | ||||
|   <div> | ||||
|     <div class="w-100px h-100px bg-red pl-10px ml-10px mt-20px"> | ||||
|       test | ||||
|     </div> | ||||
|   </div> | ||||
| </template> | ||||
|  | ||||
| <style scoped> | ||||
|  | ||||
| </style> | ||||
							
								
								
									
										1
									
								
								src/assets/vue.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								src/assets/vue.svg
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="37.07" height="36" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 198"><path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0h47.36Z"></path><path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z"></path><path fill="#35495E" d="M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0H50.56Z"></path></svg> | ||||
| After Width: | Height: | Size: 496 B | 
							
								
								
									
										38
									
								
								src/components/HelloWorld.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								src/components/HelloWorld.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| <script setup lang="ts"> | ||||
| import { ref } from 'vue' | ||||
|  | ||||
| defineProps<{ msg: string }>() | ||||
|  | ||||
| const count = ref(0) | ||||
| </script> | ||||
|  | ||||
| <template> | ||||
|   <h1>{{ msg }}</h1> | ||||
|  | ||||
|   <div class="card"> | ||||
|     <button type="button" @click="count++">count is {{ count }}</button> | ||||
|     <p> | ||||
|       Edit | ||||
|       <code>components/HelloWorld.vue</code> to test HMR | ||||
|     </p> | ||||
|   </div> | ||||
|  | ||||
|   <p> | ||||
|     Check out | ||||
|     <a href="https://vuejs.org/guide/quick-start.html#local" target="_blank" | ||||
|       >create-vue</a | ||||
|     >, the official Vue + Vite starter | ||||
|   </p> | ||||
|   <p> | ||||
|     Install | ||||
|     <a href="https://github.com/vuejs/language-tools" target="_blank">Volar</a> | ||||
|     in your IDE for a better DX | ||||
|   </p> | ||||
|   <p class="read-the-docs">Click on the Vite and Vue logos to learn more</p> | ||||
| </template> | ||||
|  | ||||
| <style scoped> | ||||
| .read-the-docs { | ||||
|   color: #888; | ||||
| } | ||||
| </style> | ||||
							
								
								
									
										13
									
								
								src/main.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								src/main.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| import { createApp } from 'vue' | ||||
| import App from './App.vue' | ||||
| import '@unocss/reset/tailwind.css' | ||||
| import 'uno.css' | ||||
|  | ||||
| /** | ||||
|  * 解决tailwind的样式冲突 | ||||
|  */ | ||||
| const meta = document.createElement('meta') | ||||
| meta.name = 'naive-ui-style' | ||||
| document.head.appendChild(meta) | ||||
|  | ||||
| createApp(App).mount('#app') | ||||
							
								
								
									
										25
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| { | ||||
|   "compilerOptions": { | ||||
|     "target": "ES2020", | ||||
|     "useDefineForClassFields": true, | ||||
|     "module": "ESNext", | ||||
|     "lib": ["ES2020", "DOM", "DOM.Iterable"], | ||||
|     "skipLibCheck": true, | ||||
|  | ||||
|     /* Bundler mode */ | ||||
|     "moduleResolution": "bundler", | ||||
|     "allowImportingTsExtensions": true, | ||||
|     "resolveJsonModule": true, | ||||
|     "isolatedModules": true, | ||||
|     "noEmit": true, | ||||
|     "jsx": "preserve", | ||||
|  | ||||
|     /* Linting */ | ||||
|     "strict": true, | ||||
|     "noUnusedLocals": true, | ||||
|     "noUnusedParameters": true, | ||||
|     "noFallthroughCasesInSwitch": true | ||||
|   }, | ||||
|   "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue","types/**/*.d.ts"], | ||||
|   "references": [{ "path": "./tsconfig.node.json" }] | ||||
| } | ||||
							
								
								
									
										10
									
								
								tsconfig.node.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								tsconfig.node.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| { | ||||
|   "compilerOptions": { | ||||
|     "composite": true, | ||||
|     "skipLibCheck": true, | ||||
|     "module": "ESNext", | ||||
|     "moduleResolution": "bundler", | ||||
|     "allowSyntheticDefaultImports": true | ||||
|   }, | ||||
|   "include": ["vite.config.ts"] | ||||
| } | ||||
							
								
								
									
										311
									
								
								types/auto-imports.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										311
									
								
								types/auto-imports.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,311 @@ | ||||
| /* eslint-disable */ | ||||
| /* prettier-ignore */ | ||||
| // @ts-nocheck | ||||
| // Generated by unplugin-auto-import | ||||
| export {} | ||||
| declare global { | ||||
|   const $: typeof import('vue/macros')['$'] | ||||
|   const $$: typeof import('vue/macros')['$$'] | ||||
|   const $computed: typeof import('vue/macros')['$computed'] | ||||
|   const $customRef: typeof import('vue/macros')['$customRef'] | ||||
|   const $ref: typeof import('vue/macros')['$ref'] | ||||
|   const $shallowRef: typeof import('vue/macros')['$shallowRef'] | ||||
|   const $toRef: typeof import('vue/macros')['$toRef'] | ||||
|   const EffectScope: typeof import('vue')['EffectScope'] | ||||
|   const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate'] | ||||
|   const asyncComputed: typeof import('@vueuse/core')['asyncComputed'] | ||||
|   const autoResetRef: typeof import('@vueuse/core')['autoResetRef'] | ||||
|   const computed: typeof import('vue')['computed'] | ||||
|   const computedAsync: typeof import('@vueuse/core')['computedAsync'] | ||||
|   const computedEager: typeof import('@vueuse/core')['computedEager'] | ||||
|   const computedInject: typeof import('@vueuse/core')['computedInject'] | ||||
|   const computedWithControl: typeof import('@vueuse/core')['computedWithControl'] | ||||
|   const controlledComputed: typeof import('@vueuse/core')['controlledComputed'] | ||||
|   const controlledRef: typeof import('@vueuse/core')['controlledRef'] | ||||
|   const createApp: typeof import('vue')['createApp'] | ||||
|   const createEventHook: typeof import('@vueuse/core')['createEventHook'] | ||||
|   const createGlobalState: typeof import('@vueuse/core')['createGlobalState'] | ||||
|   const createInjectionState: typeof import('@vueuse/core')['createInjectionState'] | ||||
|   const createPinia: typeof import('pinia')['createPinia'] | ||||
|   const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn'] | ||||
|   const createReusableTemplate: typeof import('@vueuse/core')['createReusableTemplate'] | ||||
|   const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable'] | ||||
|   const createTemplatePromise: typeof import('@vueuse/core')['createTemplatePromise'] | ||||
|   const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn'] | ||||
|   const customRef: typeof import('vue')['customRef'] | ||||
|   const debouncedRef: typeof import('@vueuse/core')['debouncedRef'] | ||||
|   const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch'] | ||||
|   const defineAsyncComponent: typeof import('vue')['defineAsyncComponent'] | ||||
|   const defineComponent: typeof import('vue')['defineComponent'] | ||||
|   const defineStore: typeof import('pinia')['defineStore'] | ||||
|   const eagerComputed: typeof import('@vueuse/core')['eagerComputed'] | ||||
|   const effectScope: typeof import('vue')['effectScope'] | ||||
|   const extendRef: typeof import('@vueuse/core')['extendRef'] | ||||
|   const getActivePinia: typeof import('pinia')['getActivePinia'] | ||||
|   const getCurrentInstance: typeof import('vue')['getCurrentInstance'] | ||||
|   const getCurrentScope: typeof import('vue')['getCurrentScope'] | ||||
|   const h: typeof import('vue')['h'] | ||||
|   const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch'] | ||||
|   const inject: typeof import('vue')['inject'] | ||||
|   const isDefined: typeof import('@vueuse/core')['isDefined'] | ||||
|   const isProxy: typeof import('vue')['isProxy'] | ||||
|   const isReactive: typeof import('vue')['isReactive'] | ||||
|   const isReadonly: typeof import('vue')['isReadonly'] | ||||
|   const isRef: typeof import('vue')['isRef'] | ||||
|   const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable'] | ||||
|   const mapActions: typeof import('pinia')['mapActions'] | ||||
|   const mapGetters: typeof import('pinia')['mapGetters'] | ||||
|   const mapState: typeof import('pinia')['mapState'] | ||||
|   const mapStores: typeof import('pinia')['mapStores'] | ||||
|   const mapWritableState: typeof import('pinia')['mapWritableState'] | ||||
|   const markRaw: typeof import('vue')['markRaw'] | ||||
|   const nextTick: typeof import('vue')['nextTick'] | ||||
|   const onActivated: typeof import('vue')['onActivated'] | ||||
|   const onBeforeMount: typeof import('vue')['onBeforeMount'] | ||||
|   const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave'] | ||||
|   const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate'] | ||||
|   const onBeforeUnmount: typeof import('vue')['onBeforeUnmount'] | ||||
|   const onBeforeUpdate: typeof import('vue')['onBeforeUpdate'] | ||||
|   const onClickOutside: typeof import('@vueuse/core')['onClickOutside'] | ||||
|   const onDeactivated: typeof import('vue')['onDeactivated'] | ||||
|   const onErrorCaptured: typeof import('vue')['onErrorCaptured'] | ||||
|   const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke'] | ||||
|   const onLongPress: typeof import('@vueuse/core')['onLongPress'] | ||||
|   const onMounted: typeof import('vue')['onMounted'] | ||||
|   const onRenderTracked: typeof import('vue')['onRenderTracked'] | ||||
|   const onRenderTriggered: typeof import('vue')['onRenderTriggered'] | ||||
|   const onScopeDispose: typeof import('vue')['onScopeDispose'] | ||||
|   const onServerPrefetch: typeof import('vue')['onServerPrefetch'] | ||||
|   const onStartTyping: typeof import('@vueuse/core')['onStartTyping'] | ||||
|   const onUnmounted: typeof import('vue')['onUnmounted'] | ||||
|   const onUpdated: typeof import('vue')['onUpdated'] | ||||
|   const pausableWatch: typeof import('@vueuse/core')['pausableWatch'] | ||||
|   const provide: typeof import('vue')['provide'] | ||||
|   const reactify: typeof import('@vueuse/core')['reactify'] | ||||
|   const reactifyObject: typeof import('@vueuse/core')['reactifyObject'] | ||||
|   const reactive: typeof import('vue')['reactive'] | ||||
|   const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed'] | ||||
|   const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit'] | ||||
|   const reactivePick: typeof import('@vueuse/core')['reactivePick'] | ||||
|   const readonly: typeof import('vue')['readonly'] | ||||
|   const ref: typeof import('vue')['ref'] | ||||
|   const refAutoReset: typeof import('@vueuse/core')['refAutoReset'] | ||||
|   const refDebounced: typeof import('@vueuse/core')['refDebounced'] | ||||
|   const refDefault: typeof import('@vueuse/core')['refDefault'] | ||||
|   const refThrottled: typeof import('@vueuse/core')['refThrottled'] | ||||
|   const refWithControl: typeof import('@vueuse/core')['refWithControl'] | ||||
|   const resolveComponent: typeof import('vue')['resolveComponent'] | ||||
|   const resolveRef: typeof import('@vueuse/core')['resolveRef'] | ||||
|   const resolveUnref: typeof import('@vueuse/core')['resolveUnref'] | ||||
|   const setActivePinia: typeof import('pinia')['setActivePinia'] | ||||
|   const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix'] | ||||
|   const shallowReactive: typeof import('vue')['shallowReactive'] | ||||
|   const shallowReadonly: typeof import('vue')['shallowReadonly'] | ||||
|   const shallowRef: typeof import('vue')['shallowRef'] | ||||
|   const storeToRefs: typeof import('pinia')['storeToRefs'] | ||||
|   const syncRef: typeof import('@vueuse/core')['syncRef'] | ||||
|   const syncRefs: typeof import('@vueuse/core')['syncRefs'] | ||||
|   const templateRef: typeof import('@vueuse/core')['templateRef'] | ||||
|   const throttledRef: typeof import('@vueuse/core')['throttledRef'] | ||||
|   const throttledWatch: typeof import('@vueuse/core')['throttledWatch'] | ||||
|   const toRaw: typeof import('vue')['toRaw'] | ||||
|   const toReactive: typeof import('@vueuse/core')['toReactive'] | ||||
|   const toRef: typeof import('vue')['toRef'] | ||||
|   const toRefs: typeof import('vue')['toRefs'] | ||||
|   const toValue: typeof import('vue')['toValue'] | ||||
|   const triggerRef: typeof import('vue')['triggerRef'] | ||||
|   const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount'] | ||||
|   const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount'] | ||||
|   const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted'] | ||||
|   const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose'] | ||||
|   const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted'] | ||||
|   const unref: typeof import('vue')['unref'] | ||||
|   const unrefElement: typeof import('@vueuse/core')['unrefElement'] | ||||
|   const until: typeof import('@vueuse/core')['until'] | ||||
|   const useActiveElement: typeof import('@vueuse/core')['useActiveElement'] | ||||
|   const useAnimate: typeof import('@vueuse/core')['useAnimate'] | ||||
|   const useArrayDifference: typeof import('@vueuse/core')['useArrayDifference'] | ||||
|   const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery'] | ||||
|   const useArrayFilter: typeof import('@vueuse/core')['useArrayFilter'] | ||||
|   const useArrayFind: typeof import('@vueuse/core')['useArrayFind'] | ||||
|   const useArrayFindIndex: typeof import('@vueuse/core')['useArrayFindIndex'] | ||||
|   const useArrayFindLast: typeof import('@vueuse/core')['useArrayFindLast'] | ||||
|   const useArrayIncludes: typeof import('@vueuse/core')['useArrayIncludes'] | ||||
|   const useArrayJoin: typeof import('@vueuse/core')['useArrayJoin'] | ||||
|   const useArrayMap: typeof import('@vueuse/core')['useArrayMap'] | ||||
|   const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce'] | ||||
|   const useArraySome: typeof import('@vueuse/core')['useArraySome'] | ||||
|   const useArrayUnique: typeof import('@vueuse/core')['useArrayUnique'] | ||||
|   const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue'] | ||||
|   const useAsyncState: typeof import('@vueuse/core')['useAsyncState'] | ||||
|   const useAttrs: typeof import('vue')['useAttrs'] | ||||
|   const useBase64: typeof import('@vueuse/core')['useBase64'] | ||||
|   const useBattery: typeof import('@vueuse/core')['useBattery'] | ||||
|   const useBluetooth: typeof import('@vueuse/core')['useBluetooth'] | ||||
|   const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints'] | ||||
|   const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel'] | ||||
|   const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation'] | ||||
|   const useCached: typeof import('@vueuse/core')['useCached'] | ||||
|   const useClipboard: typeof import('@vueuse/core')['useClipboard'] | ||||
|   const useCloned: typeof import('@vueuse/core')['useCloned'] | ||||
|   const useColorMode: typeof import('@vueuse/core')['useColorMode'] | ||||
|   const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog'] | ||||
|   const useCounter: typeof import('@vueuse/core')['useCounter'] | ||||
|   const useCssModule: typeof import('vue')['useCssModule'] | ||||
|   const useCssVar: typeof import('@vueuse/core')['useCssVar'] | ||||
|   const useCssVars: typeof import('vue')['useCssVars'] | ||||
|   const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement'] | ||||
|   const useCycleList: typeof import('@vueuse/core')['useCycleList'] | ||||
|   const useDark: typeof import('@vueuse/core')['useDark'] | ||||
|   const useDateFormat: typeof import('@vueuse/core')['useDateFormat'] | ||||
|   const useDebounce: typeof import('@vueuse/core')['useDebounce'] | ||||
|   const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn'] | ||||
|   const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory'] | ||||
|   const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion'] | ||||
|   const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation'] | ||||
|   const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio'] | ||||
|   const useDevicesList: typeof import('@vueuse/core')['useDevicesList'] | ||||
|   const useDialog: typeof import('naive-ui')['useDialog'] | ||||
|   const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia'] | ||||
|   const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility'] | ||||
|   const useDraggable: typeof import('@vueuse/core')['useDraggable'] | ||||
|   const useDropZone: typeof import('@vueuse/core')['useDropZone'] | ||||
|   const useElementBounding: typeof import('@vueuse/core')['useElementBounding'] | ||||
|   const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint'] | ||||
|   const useElementHover: typeof import('@vueuse/core')['useElementHover'] | ||||
|   const useElementSize: typeof import('@vueuse/core')['useElementSize'] | ||||
|   const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility'] | ||||
|   const useEventBus: typeof import('@vueuse/core')['useEventBus'] | ||||
|   const useEventListener: typeof import('@vueuse/core')['useEventListener'] | ||||
|   const useEventSource: typeof import('@vueuse/core')['useEventSource'] | ||||
|   const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper'] | ||||
|   const useFavicon: typeof import('@vueuse/core')['useFavicon'] | ||||
|   const useFetch: typeof import('@vueuse/core')['useFetch'] | ||||
|   const useFileDialog: typeof import('@vueuse/core')['useFileDialog'] | ||||
|   const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess'] | ||||
|   const useFocus: typeof import('@vueuse/core')['useFocus'] | ||||
|   const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin'] | ||||
|   const useFps: typeof import('@vueuse/core')['useFps'] | ||||
|   const useFullscreen: typeof import('@vueuse/core')['useFullscreen'] | ||||
|   const useGamepad: typeof import('@vueuse/core')['useGamepad'] | ||||
|   const useGeolocation: typeof import('@vueuse/core')['useGeolocation'] | ||||
|   const useI18n: typeof import('vue-i18n')['useI18n'] | ||||
|   const useIdle: typeof import('@vueuse/core')['useIdle'] | ||||
|   const useImage: typeof import('@vueuse/core')['useImage'] | ||||
|   const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll'] | ||||
|   const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver'] | ||||
|   const useInterval: typeof import('@vueuse/core')['useInterval'] | ||||
|   const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn'] | ||||
|   const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier'] | ||||
|   const useLastChanged: typeof import('@vueuse/core')['useLastChanged'] | ||||
|   const useLink: typeof import('vue-router')['useLink'] | ||||
|   const useLoadingBar: typeof import('naive-ui')['useLoadingBar'] | ||||
|   const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage'] | ||||
|   const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys'] | ||||
|   const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory'] | ||||
|   const useMediaControls: typeof import('@vueuse/core')['useMediaControls'] | ||||
|   const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery'] | ||||
|   const useMemoize: typeof import('@vueuse/core')['useMemoize'] | ||||
|   const useMemory: typeof import('@vueuse/core')['useMemory'] | ||||
|   const useMessage: typeof import('naive-ui')['useMessage'] | ||||
|   const useMounted: typeof import('@vueuse/core')['useMounted'] | ||||
|   const useMouse: typeof import('@vueuse/core')['useMouse'] | ||||
|   const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement'] | ||||
|   const useMousePressed: typeof import('@vueuse/core')['useMousePressed'] | ||||
|   const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver'] | ||||
|   const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage'] | ||||
|   const useNetwork: typeof import('@vueuse/core')['useNetwork'] | ||||
|   const useNotification: typeof import('naive-ui')['useNotification'] | ||||
|   const useNow: typeof import('@vueuse/core')['useNow'] | ||||
|   const useObjectUrl: typeof import('@vueuse/core')['useObjectUrl'] | ||||
|   const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination'] | ||||
|   const useOnline: typeof import('@vueuse/core')['useOnline'] | ||||
|   const usePageLeave: typeof import('@vueuse/core')['usePageLeave'] | ||||
|   const useParallax: typeof import('@vueuse/core')['useParallax'] | ||||
|   const useParentElement: typeof import('@vueuse/core')['useParentElement'] | ||||
|   const usePerformanceObserver: typeof import('@vueuse/core')['usePerformanceObserver'] | ||||
|   const usePermission: typeof import('@vueuse/core')['usePermission'] | ||||
|   const usePointer: typeof import('@vueuse/core')['usePointer'] | ||||
|   const usePointerLock: typeof import('@vueuse/core')['usePointerLock'] | ||||
|   const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe'] | ||||
|   const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme'] | ||||
|   const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast'] | ||||
|   const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark'] | ||||
|   const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages'] | ||||
|   const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion'] | ||||
|   const usePrevious: typeof import('@vueuse/core')['usePrevious'] | ||||
|   const useRafFn: typeof import('@vueuse/core')['useRafFn'] | ||||
|   const useRefHistory: typeof import('@vueuse/core')['useRefHistory'] | ||||
|   const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver'] | ||||
|   const useRoute: typeof import('vue-router')['useRoute'] | ||||
|   const useRouter: typeof import('vue-router')['useRouter'] | ||||
|   const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation'] | ||||
|   const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea'] | ||||
|   const useScriptTag: typeof import('@vueuse/core')['useScriptTag'] | ||||
|   const useScroll: typeof import('@vueuse/core')['useScroll'] | ||||
|   const useScrollLock: typeof import('@vueuse/core')['useScrollLock'] | ||||
|   const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage'] | ||||
|   const useShare: typeof import('@vueuse/core')['useShare'] | ||||
|   const useSlots: typeof import('vue')['useSlots'] | ||||
|   const useSorted: typeof import('@vueuse/core')['useSorted'] | ||||
|   const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition'] | ||||
|   const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis'] | ||||
|   const useStepper: typeof import('@vueuse/core')['useStepper'] | ||||
|   const useStorage: typeof import('@vueuse/core')['useStorage'] | ||||
|   const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync'] | ||||
|   const useStyleTag: typeof import('@vueuse/core')['useStyleTag'] | ||||
|   const useSupported: typeof import('@vueuse/core')['useSupported'] | ||||
|   const useSwipe: typeof import('@vueuse/core')['useSwipe'] | ||||
|   const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList'] | ||||
|   const useTextDirection: typeof import('@vueuse/core')['useTextDirection'] | ||||
|   const useTextSelection: typeof import('@vueuse/core')['useTextSelection'] | ||||
|   const useTextareaAutosize: typeof import('@vueuse/core')['useTextareaAutosize'] | ||||
|   const useThrottle: typeof import('@vueuse/core')['useThrottle'] | ||||
|   const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn'] | ||||
|   const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory'] | ||||
|   const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo'] | ||||
|   const useTimeout: typeof import('@vueuse/core')['useTimeout'] | ||||
|   const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn'] | ||||
|   const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll'] | ||||
|   const useTimestamp: typeof import('@vueuse/core')['useTimestamp'] | ||||
|   const useTitle: typeof import('@vueuse/core')['useTitle'] | ||||
|   const useToNumber: typeof import('@vueuse/core')['useToNumber'] | ||||
|   const useToString: typeof import('@vueuse/core')['useToString'] | ||||
|   const useToggle: typeof import('@vueuse/core')['useToggle'] | ||||
|   const useTransition: typeof import('@vueuse/core')['useTransition'] | ||||
|   const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams'] | ||||
|   const useUserMedia: typeof import('@vueuse/core')['useUserMedia'] | ||||
|   const useVModel: typeof import('@vueuse/core')['useVModel'] | ||||
|   const useVModels: typeof import('@vueuse/core')['useVModels'] | ||||
|   const useVibrate: typeof import('@vueuse/core')['useVibrate'] | ||||
|   const useVirtualList: typeof import('@vueuse/core')['useVirtualList'] | ||||
|   const useWakeLock: typeof import('@vueuse/core')['useWakeLock'] | ||||
|   const useWebNotification: typeof import('@vueuse/core')['useWebNotification'] | ||||
|   const useWebSocket: typeof import('@vueuse/core')['useWebSocket'] | ||||
|   const useWebWorker: typeof import('@vueuse/core')['useWebWorker'] | ||||
|   const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn'] | ||||
|   const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus'] | ||||
|   const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll'] | ||||
|   const useWindowSize: typeof import('@vueuse/core')['useWindowSize'] | ||||
|   const watch: typeof import('vue')['watch'] | ||||
|   const watchArray: typeof import('@vueuse/core')['watchArray'] | ||||
|   const watchAtMost: typeof import('@vueuse/core')['watchAtMost'] | ||||
|   const watchDebounced: typeof import('@vueuse/core')['watchDebounced'] | ||||
|   const watchDeep: typeof import('@vueuse/core')['watchDeep'] | ||||
|   const watchEffect: typeof import('vue')['watchEffect'] | ||||
|   const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable'] | ||||
|   const watchImmediate: typeof import('@vueuse/core')['watchImmediate'] | ||||
|   const watchOnce: typeof import('@vueuse/core')['watchOnce'] | ||||
|   const watchPausable: typeof import('@vueuse/core')['watchPausable'] | ||||
|   const watchPostEffect: typeof import('vue')['watchPostEffect'] | ||||
|   const watchSyncEffect: typeof import('vue')['watchSyncEffect'] | ||||
|   const watchThrottled: typeof import('@vueuse/core')['watchThrottled'] | ||||
|   const watchTriggerable: typeof import('@vueuse/core')['watchTriggerable'] | ||||
|   const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter'] | ||||
|   const whenever: typeof import('@vueuse/core')['whenever'] | ||||
| } | ||||
| // for type re-export | ||||
| declare global { | ||||
|   // @ts-ignore | ||||
|   export type { Component, ComponentPublicInstance, ComputedRef, InjectionKey, PropType, Ref, VNode } from 'vue' | ||||
| } | ||||
							
								
								
									
										14
									
								
								types/components.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								types/components.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| /* eslint-disable */ | ||||
| /* prettier-ignore */ | ||||
| // @ts-nocheck | ||||
| // Generated by unplugin-vue-components | ||||
| // Read more: https://github.com/vuejs/core/pull/3399 | ||||
| export {} | ||||
|  | ||||
| declare module 'vue' { | ||||
|   export interface GlobalComponents { | ||||
|     HelloWorld: typeof import('./../src/components/HelloWorld.vue')['default'] | ||||
|     RouterLink: typeof import('vue-router')['RouterLink'] | ||||
|     RouterView: typeof import('vue-router')['RouterView'] | ||||
|   } | ||||
| } | ||||
							
								
								
									
										1
									
								
								types/env.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								types/env.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| /// <reference types="vite/client" /> | ||||
							
								
								
									
										34
									
								
								unocss.config.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								unocss.config.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| import { | ||||
|   defineConfig, | ||||
|   presetAttributify, | ||||
|   presetIcons, | ||||
|   presetTypography, | ||||
|   presetUno, | ||||
|   presetWebFonts, | ||||
|   transformerDirectives, | ||||
|   transformerVariantGroup, | ||||
| } from 'unocss' | ||||
|  | ||||
| export default defineConfig({ | ||||
|   shortcuts: [], | ||||
|   presets: [ | ||||
|     presetUno(), // 默认wind预设 | ||||
|     presetAttributify(), // class拆分属性预设 | ||||
|     presetTypography(), // 排版预设 | ||||
|     presetIcons({ // 图标库预设 | ||||
|       scale: 1.2, | ||||
|       warn: true, | ||||
|     }), | ||||
|     presetWebFonts({ // 网络字体预设 | ||||
|       fonts: { | ||||
|         sans: 'DM Sans', | ||||
|         serif: 'DM Serif Display', | ||||
|         mono: 'DM Mono', | ||||
|       }, | ||||
|     }), | ||||
|   ], | ||||
|   transformers: [ | ||||
|     transformerVariantGroup(), // windi CSS的变体组功能 | ||||
|     transformerDirectives(), //  @apply @screen theme()转换器 | ||||
|   ], | ||||
| }) | ||||
							
								
								
									
										46
									
								
								vite.config.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								vite.config.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,46 @@ | ||||
| import { defineConfig } from 'vite' | ||||
| import vue from '@vitejs/plugin-vue' | ||||
| import AutoImport from 'unplugin-auto-import/vite' | ||||
| import Components from 'unplugin-vue-components/vite' | ||||
| import { NaiveUiResolver } from 'unplugin-vue-components/resolvers' | ||||
| import Unocss from 'unocss/vite' | ||||
|  | ||||
| // https://vitejs.dev/config/ | ||||
| export default defineConfig({ | ||||
|   plugins: [ | ||||
|     vue({ | ||||
|       reactivityTransform: true, | ||||
|     }), | ||||
|     AutoImport({ | ||||
|       imports: [ | ||||
|         'vue', | ||||
|         'vue/macros', | ||||
|         'vue-router', | ||||
|         'vue-i18n', | ||||
|         '@vueuse/core', | ||||
|         'pinia', | ||||
|         { | ||||
|           'naive-ui': [ | ||||
|             'useDialog', | ||||
|             'useMessage', | ||||
|             'useNotification', | ||||
|             'useLoadingBar', | ||||
|           ], | ||||
|         }, | ||||
|       ], | ||||
|       dts: 'types/auto-imports.d.ts', | ||||
|       dirs: [ | ||||
|         'src/stores', | ||||
|         'src/composables', | ||||
|       ], | ||||
|     }), | ||||
|     Components({ | ||||
|       resolvers: [NaiveUiResolver()], | ||||
|       dts: 'types/components.d.ts', | ||||
|       dirs: [ | ||||
|         'src/components', | ||||
|       ], | ||||
|     }), | ||||
|     Unocss(), | ||||
|   ], | ||||
| }) | ||||
		Reference in New Issue
	
	Block a user