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.
76 lines
1.8 KiB
76 lines
1.8 KiB
import { fileURLToPath, URL } from 'node:url' |
|
import UnoCSS from 'unocss/vite' |
|
import { defineConfig } from 'vite' |
|
import vue from '@vitejs/plugin-vue' |
|
import vueDevTools from 'vite-plugin-vue-devtools' |
|
import AutoImport from 'unplugin-auto-import/vite' |
|
import Components from 'unplugin-vue-components/vite' |
|
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' |
|
import vueJsx from '@vitejs/plugin-vue-jsx' |
|
import Icons from 'unplugin-icons/vite' |
|
// Vite 配置文件 |
|
export default defineConfig({ |
|
plugins: [ |
|
vue(), |
|
vueJsx(), |
|
vueDevTools(), |
|
UnoCSS(), |
|
Icons({ |
|
autoInstall: true, |
|
}), |
|
AutoImport({ |
|
imports: ['vue', 'vue-router'], |
|
resolvers: [ElementPlusResolver()], |
|
dts: 'global.types/auto-imports.d.ts', |
|
}), |
|
Components({ |
|
dirs: ['src/components'], |
|
extensions: ['vue'], |
|
dts: 'global.types/components.d.ts', |
|
resolvers: [ElementPlusResolver()], |
|
}), |
|
], |
|
resolve: { |
|
alias: { |
|
'@': fileURLToPath(new URL('./src', import.meta.url)), |
|
}, |
|
}, |
|
|
|
build: { |
|
minify: 'terser', |
|
terserOptions: { |
|
compress: { |
|
drop_console: true, |
|
drop_debugger: true, |
|
}, |
|
}, |
|
}, |
|
css: { |
|
preprocessorOptions: { |
|
scss: { |
|
additionalData: '@use "@/assets/styles/mixins.scss" as *;', |
|
}, |
|
}, |
|
}, |
|
define: { |
|
'process.env': {} |
|
}, |
|
|
|
// 开发服务器配置 |
|
server: { |
|
// 启动时自动打开浏览器 |
|
// 开发服务器端口 |
|
port: 3000, |
|
// 允许局域网访问 |
|
host: '0.0.0.0', |
|
proxy: { |
|
'/remoteServer': { |
|
target: 'http://192.168.1.199:8080/', |
|
changeOrigin: true, |
|
secure: false, |
|
ws: true, |
|
rewrite: path => path.replace(/^\/remoteServer/, ''), |
|
}, |
|
} |
|
}, |
|
}) |