import {ConfigEnv, UserConfigExport} from 'vite' import viteSvgIcons from 'vite-plugin-svg-icons'; import vue from '@vitejs/plugin-vue' import qiankun from "vite-plugin-qiankun" import {viteMockServe} from 'vite-plugin-mock' import path, {resolve} from 'path' import Pages from "vite-plugin-pages"; import {proxyEnvHost} from "./src/config/proxy" const pathResolve = (dir: string): any => { return resolve(__dirname, '.', dir) } console.log(proxyEnvHost.development); console.log(__dirname); const alias: Record = { '@': pathResolve('src'), 'api': pathResolve('src/api'), 'views': pathResolve('src/views'), 'compoents': pathResolve('src/compoents'), } // https://vitejs.dev/config/ export default ({command}: ConfigEnv): UserConfigExport => { const prodMock = true return { base: "/base", css:{ devSourcemap:true }, resolve: { alias }, server: { port: 3000, host: '0.0.0.0', open: true, proxy: { // 代理配置 '/api': { target: 'http://192.168.31.150:8080/', changeOrigin: true, rewrite: path => path.replace(/^\/api/, '') }, // 代理配置 '/workbench': { target: 'http://121.43.42.180:13777/', changeOrigin: true, rewrite: path => path.replace(/^\/workbench/, '/api') } } }, build: { rollupOptions: { output: { manualChunks: { echarts: ['echarts'] } } } }, plugins: [ vue(), viteMockServe({ mockPath: 'mock', localEnabled: command === 'serve', prodEnabled: command !== 'serve' && prodMock, watchFiles: true, injectCode: ` import { setupProdMockServer } from '../mockProdServer'; setupProdMockServer(); `, logger: true }), viteSvgIcons({ // 指定需要缓存的图标文件夹 iconDirs: [path.resolve(process.cwd(), 'src/assets/svg')], // 指定symbolId格式 symbolId: 'icon-[dir]-[name]', }), Pages({ dirs: "src/views/system" }), qiankun("base", { useDevMode: true }) ] } }