import tailwindcss from '@tailwindcss/vite'; import react from '@vitejs/plugin-react'; import path from 'path'; import {defineConfig} from 'vite'; /** * 발행 사이트 렌더러. * * 빌드가 두 번 돈다: * build:client → dist/client 브라우저 번들 + manifest(자산 경로를 프리렌더가 읽는다) * build:prerender → dist/prerender 프리렌더러 자체를 SSR 번들로 묶는다 * (별도 TS 로더 없이 경로 별칭·TSX·CSS import 가 해결된다) * 그다음 node dist/prerender/prerender.js 가 payload 마다 정적 HTML 을 굽는다. * * ★ 이 앱은 런타임 서버가 없다. 결과물은 파일뿐이라 어디에 올려도 돈다. */ export default defineConfig(({isSsrBuild}) => ({ plugins: [react(), tailwindcss()], resolve: { alias: { '@': path.resolve(__dirname, 'src'), '@o2o/shared': path.resolve(__dirname, '../shared/src'), }, }, build: { // 프리렌더가 산출물 파일명을 알아야 HTML 에