You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.7 KiB
56 lines
1.7 KiB
import { fileURLToPath, URL } from 'url' |
|
|
|
import { defineConfig } from 'vite' |
|
import vue from '@vitejs/plugin-vue' |
|
import vueJsx from '@vitejs/plugin-vue-jsx' |
|
import AutoImport from 'unplugin-auto-import/vite' |
|
import Components from 'unplugin-vue-components/vite' |
|
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' |
|
import { createStyleImportPlugin, ElementPlusResolve } from 'vite-plugin-style-import' |
|
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons' |
|
import vueSetupExtend from 'vite-plugin-vue-setup-extend' |
|
// https://vitejs.dev/config/ |
|
export default defineConfig({ |
|
// base: '/admin/', |
|
server: { |
|
host: '127.0.0.1' |
|
}, |
|
plugins: [ |
|
vue(), |
|
vueJsx(), |
|
AutoImport({ |
|
imports: ['vue', 'vue-router'], |
|
resolvers: [ElementPlusResolver()], |
|
eslintrc: { |
|
enabled: true |
|
} |
|
}), |
|
Components({ |
|
directoryAsNamespace: true, |
|
resolvers: [ElementPlusResolver()] |
|
}), |
|
createStyleImportPlugin({ |
|
resolves: [ElementPlusResolve()] |
|
}), |
|
createSvgIconsPlugin({ |
|
// 配置路劲在你的src里的svg存放文件 |
|
iconDirs: [fileURLToPath(new URL('./src/assets/icons', import.meta.url))], |
|
symbolId: 'local-icon-[dir]-[name]' |
|
}), |
|
vueSetupExtend() |
|
], |
|
resolve: { |
|
alias: { |
|
'@': fileURLToPath(new URL('./src', import.meta.url)) |
|
} |
|
}, |
|
build: { |
|
rollupOptions: { |
|
manualChunks(id) { |
|
if (id.includes('node_modules')) { |
|
return id.toString().split('node_modules/')[1].split('/')[0].toString() |
|
} |
|
} |
|
} |
|
} |
|
})
|
|
|