2025-10-09 09:29:36 +08:00
|
|
|
|
import { fileURLToPath, URL } from 'node:url'
|
|
|
|
|
|
|
|
|
|
|
|
import { defineConfig } from 'vite'
|
|
|
|
|
|
import vue from '@vitejs/plugin-vue'
|
|
|
|
|
|
import AutoImport from 'unplugin-auto-import/vite'
|
|
|
|
|
|
import Components from 'unplugin-vue-components/vite'
|
2025-10-09 11:48:56 +08:00
|
|
|
|
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
|
|
|
|
|
|
import path from 'path'
|
|
|
|
|
|
import { VantResolver } from '@vant/auto-import-resolver'
|
2025-10-09 09:29:36 +08:00
|
|
|
|
|
|
|
|
|
|
// console.log(process)
|
|
|
|
|
|
// console.log(import.meta.env.VITE_APP_URL)
|
|
|
|
|
|
|
|
|
|
|
|
// https://vitejs.dev/config/
|
|
|
|
|
|
|
|
|
|
|
|
export default defineConfig({
|
|
|
|
|
|
plugins: [
|
|
|
|
|
|
vue(),
|
|
|
|
|
|
// ...
|
|
|
|
|
|
AutoImport({
|
2025-10-09 11:33:47 +08:00
|
|
|
|
resolvers: [VantResolver()],
|
|
|
|
|
|
imports: ['vue', 'vue-router', 'pinia'],
|
|
|
|
|
|
dts: true,
|
2025-10-09 11:48:56 +08:00
|
|
|
|
dirs: ['src/stores', 'src/utils']
|
2025-10-09 09:29:36 +08:00
|
|
|
|
}),
|
|
|
|
|
|
Components({
|
2025-10-09 11:33:47 +08:00
|
|
|
|
resolvers: [VantResolver()],
|
2025-10-09 11:48:56 +08:00
|
|
|
|
dts: false
|
2025-10-09 09:29:36 +08:00
|
|
|
|
}),
|
2025-10-09 11:48:56 +08:00
|
|
|
|
createSvgIconsPlugin({
|
|
|
|
|
|
// 指定需要缓存的图标文件夹
|
|
|
|
|
|
iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
|
|
|
|
|
|
// 指定symbolId格式
|
|
|
|
|
|
symbolId: 'icon-[dir]-[name]',
|
|
|
|
|
|
inject: 'body-last' // 注入位置优化
|
|
|
|
|
|
})
|
2025-10-09 09:29:36 +08:00
|
|
|
|
],
|
|
|
|
|
|
css: {
|
2025-10-09 11:48:56 +08:00
|
|
|
|
preprocessorOptions: {
|
|
|
|
|
|
less: {
|
|
|
|
|
|
modifyVars: {
|
|
|
|
|
|
'primary-color': '#ec6800'
|
|
|
|
|
|
},
|
|
|
|
|
|
javascriptEnabled: true,
|
|
|
|
|
|
// 全局导入less变量文件
|
|
|
|
|
|
additionalData: `@import "${path.resolve(__dirname, 'src/assets/css/style.less')}";`
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-10-09 09:29:36 +08:00
|
|
|
|
},
|
|
|
|
|
|
resolve: {
|
|
|
|
|
|
alias: {
|
|
|
|
|
|
'@': fileURLToPath(new URL('./src', import.meta.url)),
|
2025-10-09 11:48:56 +08:00
|
|
|
|
_c: fileURLToPath(new URL('./src/components', import.meta.url))
|
2025-10-09 09:29:36 +08:00
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
server: {
|
2025-10-09 11:48:56 +08:00
|
|
|
|
host: '0.0.0.0', // 允许局域网内的IP访问
|
|
|
|
|
|
port: 8060, // 根据环境设置端口
|
|
|
|
|
|
open: false, // 自动打开浏览器
|
|
|
|
|
|
strictPort: true, // 如果端口已被占用,则尝试下一个可用端口
|
|
|
|
|
|
hmr: {
|
|
|
|
|
|
overlay: true
|
|
|
|
|
|
},
|
2025-10-09 09:29:36 +08:00
|
|
|
|
proxy: {
|
2025-10-09 11:48:56 +08:00
|
|
|
|
'/api': {
|
2025-10-09 09:29:36 +08:00
|
|
|
|
//'/api'是自行设置的请求前缀
|
2025-10-09 11:48:56 +08:00
|
|
|
|
target: 'http://18.167.251.121:10095',
|
2025-10-09 09:29:36 +08:00
|
|
|
|
changeOrigin: true, //用于控制请求头中的host值
|
2025-10-09 11:48:56 +08:00
|
|
|
|
rewrite: (path) => path.replace(/^\/api/, '/api') //路径重写,(正则)匹配以api开头的路径为空(将请求前缀删除)
|
|
|
|
|
|
}
|
2025-10-09 09:29:36 +08:00
|
|
|
|
}
|
2025-10-09 11:48:56 +08:00
|
|
|
|
}
|
2025-10-09 09:29:36 +08:00
|
|
|
|
})
|