87 lines
2.2 KiB
TypeScript
87 lines
2.2 KiB
TypeScript
// https://nuxt.com/docs/api/configuration/nuxt-config
|
|
export default defineNuxtConfig({
|
|
compatibilityDate: '2024-12-25',
|
|
devtools: { enabled: true },
|
|
|
|
// SSR 비활성화 (SPA 모드)
|
|
ssr: false,
|
|
|
|
// 디렉토리 커스터마이징
|
|
dir: {
|
|
pages: 'frontend'
|
|
},
|
|
serverDir: 'backend',
|
|
|
|
// 컴포넌트 경로
|
|
components: [
|
|
{ path: '~/frontend/components', pathPrefix: false }
|
|
],
|
|
|
|
// composables 경로
|
|
imports: {
|
|
dirs: ['frontend/composables']
|
|
},
|
|
|
|
app: {
|
|
head: {
|
|
title: 'OSOLIT Monitor - Network Status',
|
|
meta: [
|
|
{ charset: 'utf-8' },
|
|
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
|
|
{ name: 'description', content: 'Global Network Status Monitoring Dashboard' }
|
|
],
|
|
link: [
|
|
{ rel: 'preconnect', href: 'https://fonts.googleapis.com' },
|
|
{ rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '' },
|
|
{ rel: 'stylesheet', href: 'https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600&display=swap' }
|
|
]
|
|
}
|
|
},
|
|
|
|
css: ['~/frontend/assets/css/main.css'],
|
|
|
|
// 서버 설정
|
|
nitro: {
|
|
preset: 'node-server',
|
|
// WebSocket 실험적 기능 활성화
|
|
experimental: {
|
|
websocket: true
|
|
},
|
|
// 네이티브 모듈은 번들링하지 않고 외부 모듈로 처리
|
|
externals: {
|
|
inline: []
|
|
},
|
|
// rollup에서 external로 처리
|
|
rollupConfig: {
|
|
external: ['pg']
|
|
},
|
|
// 플러그인 등록
|
|
plugins: [
|
|
'~/backend/plugins/pubnet-init.ts',
|
|
'~/backend/plugins/privnet-init.ts'
|
|
]
|
|
},
|
|
|
|
// Vite 설정 (네이티브 모듈)
|
|
vite: {
|
|
optimizeDeps: {
|
|
exclude: ['pg']
|
|
}
|
|
},
|
|
|
|
// 환경변수 설정
|
|
runtimeConfig: {
|
|
// 서버 전용 (NUXT_로 시작하는 환경변수 자동 로드)
|
|
dbHost: process.env.DB_HOST || 'localhost',
|
|
dbPort: process.env.DB_PORT || '5432',
|
|
dbName: process.env.DB_NAME || 'osolit_monitor',
|
|
dbUser: process.env.DB_USER || 'postgres',
|
|
dbPassword: process.env.DB_PASSWORD || '',
|
|
autoStartScheduler: process.env.AUTO_START_SCHEDULER || 'false',
|
|
// 클라이언트 공개
|
|
public: {
|
|
nodeEnv: process.env.NODE_ENV || 'development'
|
|
}
|
|
}
|
|
})
|