import { fileURLToPath, URL } from 'node:url' import { defineConfig } from 'vite' import { createSvgIconsPlugin } from '@digitalacorn/vite-plugin-svg-icons' import vue from '@vitejs/plugin-vue' import vueJsx from '@vitejs/plugin-vue-jsx' import VueDevTools from 'vite-plugin-vue-devtools' import path from 'path' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' // https://vitejs.dev/config/ export default defineConfig({ base: './', plugins: [ vue(), vueJsx(), VueDevTools(), createSvgIconsPlugin({ iconDirs: [path.resolve(process.cwd(), 'src/assets/svgs')], symbolId: 'icon-[dir]-[name]', svgoOptions: true, replaceStrokeWithCurrentColor: false }), AutoImport({ resolvers: [ElementPlusResolver()], }), Components({ resolvers: [ElementPlusResolver()], }), ], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) }, extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'] }, css: { preprocessorOptions: { scss: { additionalData: ` @import "@/assets/styles/mixins.scss"; @import "@/assets/styles/variables.scss";` } } }, server: { host: '0.0.0.0' }, })