| | |
| | | import { fileURLToPath, URL } from 'node:url' |
| | | import path from 'path' |
| | | 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 IconsResolver from 'unplugin-icons/resolver' |
| | | import Icons from 'unplugin-icons/vite' |
| | | import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' |
| | | |
| | | const pathSrc = path.resolve(__dirname, 'src') |
| | | |
| | | // https://vitejs.dev/config/ |
| | | export default defineConfig({ |
| | | resolve: { |
| | | alias: { |
| | | '@': pathSrc |
| | | } |
| | | }, |
| | | plugins: [ |
| | | vue(), |
| | | // element plus 自动导入 |
| | | AutoImport({ |
| | | resolvers: [ElementPlusResolver()] |
| | | // 自动导入 Vue 相关函数,如:ref, reactive, toRef 等 |
| | | imports: ['vue'], |
| | | // 自动导入 Element Plus 相关函数,如:ElMessage, ElMessageBox... (带样式) |
| | | resolvers: [ |
| | | ElementPlusResolver(), |
| | | // 自动导入图标组件 |
| | | IconsResolver({ |
| | | prefix: 'Icon' |
| | | }) |
| | | ], |
| | | |
| | | dts: path.resolve(pathSrc, 'auto-imports.d.ts') |
| | | }), |
| | | Components({ |
| | | resolvers: [ElementPlusResolver()] |
| | | resolvers: [ |
| | | // 自动注册图标组件 |
| | | IconsResolver({ |
| | | enabledCollections: ['ep'] |
| | | }), |
| | | // 自动导入 Element Plus 组件 |
| | | ElementPlusResolver() |
| | | ], |
| | | dts: path.resolve(pathSrc, 'components.d.ts') |
| | | }), |
| | | Icons({ |
| | | autoInstall: true |
| | | }) |
| | | ], |
| | | resolve: { |
| | | alias: { |
| | | '@': fileURLToPath(new URL('./src', import.meta.url)) |
| | | } |
| | | } |
| | | ] |
| | | }) |