import path from 'path' import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import WindiCss from 'vite-plugin-windicss' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { VantResolver } from 'unplugin-vue-components/resolvers' import Icons from 'unplugin-icons/vite' import IconsResolver from 'unplugin-icons/resolver' // https://vitejs.dev/config/ export default defineConfig({ base: '/new/', resolve: { alias: { '@': path.resolve(__dirname, 'src'), '~': path.resolve(__dirname, 'src'), // '~components': path.resolve(__dirname, 'src/components'), // '~pages': path.resolve(__dirname, 'src/pages'), // '~utils': path.resolve(__dirname, 'src/utils'), // '~assets': path.resolve(__dirname, 'src/assets'), // '~styles': path.resolve(__dirname, 'src/styles'), // '~lib': path.resolve(__dirname, 'src/lib'), // '~plugins': path.resolve(__dirname, 'src/plugins'), // '~router': path.resolve(__dirname, 'src/router'), // '~store': path.resolve(__dirname, 'src/store'), // '~config': path.resolve(__dirname, 'src/config'), // '~api': path.resolve(__dirname, 'src/api'), // '~constants': path.resolve(__dirname, 'src/constants'), // '~locales': path.resolve(__dirname, 'src/locales'), }, }, plugins: [ vue({ reactivityTransform: true, }), WindiCss(), AutoImport({ // dts: 'src/auto-imports.d.ts', imports: ['vue', 'vue/macros', 'vue-router'], dirs: [ 'src/composables', 'src/store', 'src/utils', ], resolvers: [VantResolver()], vueTemplate: true, eslintrc: { enabled: true, // enabled: false, // Default `false` // filepath: './.eslintrc-auto-import.json', // Default `./.eslintrc-auto-import.json` // globalsPropValue: true, // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable') }, }), Components({ // dts: 'src/components.d.ts', dirs: ['src/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$/], resolvers: [VantResolver(), IconsResolver()], }), Icons({ compiler: 'vue3', autoInstall: true, }), ], server: { host: true, }, build: { rollupOptions: { output: { manualChunks: { axios: ['axios'], vant: ['vant'], }, }, }, }, })