import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' // 构建产物输出到站点根 /root/html,但绝不清空该目录 // (里面已有 448/449/js/css 等既有内容)。 // 用 mainPage/ 命名空间子目录避免与 /root/html/js、/root/html/css 旧文件冲突。 export default defineConfig({ plugins: [vue()], base: '/', build: { outDir: '/root/html', // ★ 安全项:不清空 outDir,保护既有文件 emptyOutDir: false, rollupOptions: { output: { entryFileNames: 'js/mainPage/[name].[hash].js', chunkFileNames: 'js/mainPage/[name].[hash].js', assetFileNames: (assetInfo) => { const name = assetInfo.name || '' if (name.endsWith('.css')) { return 'css/mainPage/[name].[hash][extname]' } return 'assets/mainPage/[name].[hash][extname]' } } } }, server: { // 开发服务器把站点根的静态资源代理到 /root/html,方便引用 /448 /449 等 port: 5173, proxy: { '/448': { target: 'http://localhost:8080', changeOrigin: true }, '/449': { target: 'http://localhost:8080', changeOrigin: true } } } })