Files
sb-front/vite.config.js
T

43 lines
1.3 KiB
JavaScript
Raw Normal View History

2026-05-30 21:18:13 +09:00
import { fileURLToPath, URL } from 'node:url'
import { readFileSync } from 'node:fs'
2026-05-30 21:18:13 +09:00
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'
// 앱 버전 정보(설정 > 앱 버전)에 노출 — package.json 을 단일 출처로 사용
const pkg = JSON.parse(readFileSync(new URL('./package.json', import.meta.url), 'utf-8'))
2026-05-30 21:18:13 +09:00
// https://vite.dev/config/
export default defineConfig(({ mode }) => ({
// Electron(데스크톱)은 file:// 로 로드하므로 상대경로 자산이 필요. 그 외(웹/Capacitor)는 '/'.
base: mode === 'electron' ? './' : '/',
define: {
__APP_VERSION__: JSON.stringify(pkg.version),
},
2026-06-06 15:04:15 +09:00
build: {
// 마크다운 에디터(toast-ui ~1MB)는 게시판 작성/상세 라우트에서만 동적 로딩되어
// 메인 번들에 포함되지 않는다. 의도된 지연 청크이므로 경고 한도를 현실적으로 상향.
chunkSizeWarningLimit: 1200,
},
2026-05-30 21:18:13 +09:00
plugins: [
vue(),
vueDevTools(),
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
},
},
server: {
port: 5173,
proxy: {
// /api 로 시작하는 요청을 Spring Boot(8080)로 프록시
'/api': {
target: 'http://localhost:8080',
changeOrigin: true,
},
},
},
}))