import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import path from 'path' 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' import legacy from '@vitejs/plugin-legacy' // https://vitejs.dev/config/ export default defineConfig({ base: '/page/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: [ legacy({ targets: ['defaults', 'ie >= 11', 'chrome 52'], //需要兼容的目标列表,可以设置多个 additionalLegacyPolyfills: ['regenerator-runtime/runtime'], renderLegacyChunks: true, polyfills: [ 'es.symbol', 'es.array.filter', 'es.promise', 'es.promise.finally', 'es/map', 'es/set', 'es.array.for-each', 'es.object.define-properties', 'es.object.define-property', 'es.object.get-own-property-descriptor', 'es.object.get-own-property-descriptors', 'es.object.keys', 'es.object.to-string', 'web.dom-collections.for-each', 'esnext.global-this', 'esnext.string.match-all' ] }), 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, }), 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: { // sourcemap:'inline', rollupOptions: { output: { manualChunks: { axios: ['axios'], vant: ['vant'], } } } } })