mirror of
https://git.hmsn.ink/kospo/svcm/oa.git
synced 2026-03-20 08:03:34 +09:00
45 lines
932 B
TypeScript
45 lines
932 B
TypeScript
import type { ResolvedConfig, InlineConfig } from 'vite'
|
|
import colors from 'picocolors'
|
|
import { mergeConfig, build as viteBuild } from 'vite'
|
|
|
|
export async function buildApp({
|
|
config,
|
|
viteConfig,
|
|
outStatic,
|
|
outServer,
|
|
}: {
|
|
config: ResolvedConfig
|
|
viteConfig: InlineConfig
|
|
outStatic: string
|
|
outServer: string
|
|
}) {
|
|
config.logger.info(colors.green('[SSG] Build for client...'))
|
|
await viteBuild(
|
|
mergeConfig(viteConfig, {
|
|
define: {
|
|
__VUERO_SSR_BUILD__: true,
|
|
},
|
|
build: {
|
|
ssrManifest: true,
|
|
outDir: outStatic,
|
|
},
|
|
mode: config.mode,
|
|
}),
|
|
)
|
|
|
|
// server
|
|
config.logger.info(colors.green('[SSG] Build for server...'))
|
|
await viteBuild(
|
|
mergeConfig(viteConfig, {
|
|
define: {
|
|
__VUERO_SSR_BUILD__: 'true',
|
|
},
|
|
build: {
|
|
ssr: 'src/entry-server.ts',
|
|
outDir: outServer,
|
|
},
|
|
mode: config.mode,
|
|
}),
|
|
)
|
|
}
|