| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- import { fileURLToPath, URL } from 'node:url'
- import { defineConfig } from 'vite'
- import vue from '@vitejs/plugin-vue'
- import vueJsx from '@vitejs/plugin-vue-jsx'
- //图片压缩工具
- import { ViteImageOptimizer } from 'vite-plugin-image-optimizer'
- //打包分析工具
- // import { visualizer } from 'rollup-plugin-visualizer'
- import unoCss from 'unocss/vite'
- //集成tailwind中类样式 preseUno
- import { presetUno } from 'unocss'
- //将rem转换为px设置
- import presetRemToPx from '@unocss/preset-rem-to-px'
- import AutoImport from 'unplugin-auto-import/vite'
- import Components from 'unplugin-vue-components/vite'
- import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
- import ElementPlus from 'unplugin-element-plus/vite'
- // https://vitejs.dev/config/
- export default defineConfig({
- plugins: [
- vue(),
- vueJsx(),
- unoCss({
- presets: [
- presetUno(),
- presetRemToPx({
- baseFontSize: 4
- })
- ],
- //规则
- rules: [
- [
- 'menu_active',
- {
- color: '#1870ff',
- 'background-image': 'url("@/assets/images/Layout/选中模式.png")',
- 'background-size': '100% 100%'
- }
- ],
- [
- /^bg-\[(.*)\]$/,
- ([, url]) => ({
- 'background-image': `url('@/${url}')`,
- 'background-size': '100% 100%'
- })
- ]
- ],
- //组合样式
- shortcuts: {}
- }),
- ElementPlus({}),
- AutoImport({
- resolvers: [ElementPlusResolver()]
- }),
- Components({
- resolvers: [ElementPlusResolver()]
- }),
- ViteImageOptimizer()
- // visualizer({ open: true })
- ],
- base: './',
- resolve: {
- alias: {
- '@': fileURLToPath(new URL('./src', import.meta.url))
- }
- },
- server: {
- host: true,
- cors: true,
- open: true,
- proxy: {
- '/api': {
- target: 'http://192.168.110.235:8091',
- changeOrigin: true,
- rewrite: (path) => path.replace(/^\/api/, '')
- }
- }
- },
- css: {
- preprocessorOptions: {
- scss: {
- additionalData: `@import "./src/styles/variable.scss";`
- }
- }
- }
- })
|