Spaces:
Paused
Paused
| import { fileURLToPath, URL } from 'node:url' | |
| import { resolve, dirname } from 'node:path' | |
| import { defineConfig } from 'vite' | |
| import vue from '@vitejs/plugin-vue' | |
| import vueDevTools from 'vite-plugin-vue-devtools' | |
| // 获取 __dirname 等效值 | |
| const __filename = fileURLToPath(import.meta.url); | |
| const __dirname = dirname(__filename); | |
| // https://vite.dev/config/ | |
| export default defineConfig({ | |
| base: '/', | |
| plugins: [ | |
| vue(), | |
| vueDevTools(), | |
| ], | |
| resolve: { | |
| alias: { | |
| '@': fileURLToPath(new URL('./src', import.meta.url)) | |
| }, | |
| }, | |
| build: { | |
| // 输出目录设置为 FastAPI 应用的静态文件目录 | |
| outDir: resolve(__dirname, '../app/templates/assets'), | |
| // 不生成 HTML 文件,我们将在 build.js 中手动创建 | |
| emptyOutDir: true, | |
| // 禁用自动添加哈希值到文件名 | |
| rollupOptions: { | |
| output: { | |
| // 使用固定文件名,不添加哈希值 | |
| entryFileNames: 'main.js', | |
| chunkFileNames: '[name].js', | |
| assetFileNames: (assetInfo) => { | |
| if (assetInfo.name === 'style.css') { | |
| return 'main.css'; | |
| } | |
| // 对于其他资源,使用原始文件名 | |
| return '[name].[ext]'; | |
| } | |
| } | |
| } | |
| }, | |
| }) | |