import { resolve } from 'path'; import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; import svgLoader from 'vite-svg-loader'; // eslint-disable-next-line import/no-unresolved import AutoImport from 'unplugin-auto-import/vite'; import Components from 'unplugin-vue-components/vite'; import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'; export default defineConfig({ plugins: [ vue(), svgLoader({ svgoConfig: {} }), AutoImport({ resolvers: [ElementPlusResolver()], }), Components({ resolvers: [ElementPlusResolver()], }), ], resolve: { alias: [ { find: '@', replacement: resolve(__dirname, '../src'), }, { find: 'assets', replacement: resolve(__dirname, '../src/assets'), }, { find: 'vue', replacement: 'vue/dist/vue.esm-bundler.js', // compile template }, ], extensions: ['.ts', '.js'], }, define: { 'process.env': {}, '__VUE_PROD_HYDRATION_MISMATCH_DETAILS__': false, }, css: { preprocessorOptions: { less: { modifyVars: { hack: `true; @import (reference) "${resolve( 'src/assets/style/var.less' )}";`, }, javascriptEnabled: true, }, }, }, });