Files
replypier/frontend/vite.widget.docker.config.ts
WangShen007 977783c126 build: 打通 FastAPI 与 Vue 最小工程、依赖与数据库连接
后端入口、配置、Redis 与 Alembic 迁移就位;前端 Vite 工程可安装可构建。
2026-09-22 20:15:00 +08:00

44 lines
1.2 KiB
TypeScript

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
export default defineConfig({
plugins: [
vue({
template: {
compilerOptions: {
// Treat all tags starting with 's-' as custom elements (Polaris web components)
isCustomElement: (tag) => tag.startsWith('s-')
}
}
})
],
build: {
lib: {
entry: resolve(__dirname, 'src/webclient/widget.ts'),
name: 'ReplyPierWidget',
fileName: 'widget',
formats: ['es'],
},
outDir: '/app/backend-assets',
emptyOutDir: false,
rollupOptions: {
output: {
format: 'es',
entryFileNames: 'widget.js',
assetFileNames: (assetInfo) => {
if (assetInfo.name === 'style.css') {
return 'widget.css'
}
// Place other assets in a subdirectory that we can ignore or clean up later
return 'unused/[name]-[hash][extname]'
},
chunkFileNames: 'unused/[name]-[hash].js',
manualChunks: undefined, // Disable code splitting
},
},
},
define: {
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'production'),
},
})