import { fileURLToPath, URL } from 'node:url' import { defineConfig } from 'vite' 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' import Icons from 'unplugin-icons/vite' import IconsResolver from 'unplugin-icons/resolver' // https://vite.dev/config/ export default defineConfig({ plugins: [ vue(), vueJsx(), vueDevTools(), // AutoImport({ // imports: ['vue'], // resolvers: [ElementPlusResolver(), IconsResolver()], // eslintrc: { enabled: true }, // }), Components({ // allow auto load markdown components under `./src/components/` extensions: ['vue', 'md'], // allow auto import and register components used in markdown include: [/\.vue$/, /\.vue\?vue/, /\.md$/, /\.ts$/], resolvers: [ ElementPlusResolver({ importStyle: 'sass', }), IconsResolver(), ], }), Icons({ autoInstall: true }), ], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), }, }, build: { sourcemap: false, rollupOptions: { // eslint-disable-next-line no-undef input: path.resolve(__dirname, 'index.html'), output: { chunkFileNames: 'js/[name].[hash].js', entryFileNames: 'js/[name].[hash].js', // assetFileNames: "assets/[name].[hash].[ext]", }, }, }, server: { host: '0.0.0.0', // port: 5174 }, })