// Nuxt 설정 — SSG(정적 생성) 기반, nginx 정적 호스팅용 // https://nuxt.com/docs/api/configuration/nuxt-config export default defineNuxtConfig({ compatibilityDate: '2025-05-30', // 개발 도구 활성화 (운영 빌드에는 포함되지 않음) devtools: { enabled: true }, // 모듈 — 상태 관리(Pinia), ESLint 통합 modules: ['@pinia/nuxt', '@nuxt/eslint'], // 자동 임포트 디렉터리 확장 — CLAUDE.md 규칙(shared/utils 순수 함수) imports: { dirs: ['shared/utils'], }, // 전역 CSS — 디자인 토큰/리셋/공통 유틸 클래스 css: ['~/assets/css/main.css'], // 런타임 환경변수 — public 값만 클라이언트 번들에 포함됨 // SSG 빌드 시 process.env 값이 정적으로 주입됨 (Dockerfile ARG → ENV) runtimeConfig: { public: { apiBaseUrl: process.env.NUXT_PUBLIC_API_BASE_URL || '/api', }, }, // 전역 기본값 — 한국어 로케일 + 웹폰트(Pretendard / Bebas Neue / Noto Sans KR) app: { head: { htmlAttrs: { lang: 'ko' }, title: '이너탭 (innertab)', meta: [ { charset: 'UTF-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1.0' }, { name: 'description', content: '이너탭(innertab) 채용 — 사람의 매일이 닿는 모든 곳에서 가장 앞선 답을 증명합니다.' }, ], link: [ { rel: 'icon', href: '/favicon.ico' }, { rel: 'preconnect', href: 'https://fonts.googleapis.com' }, { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '' }, { rel: 'stylesheet', href: 'https://fastly.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css', }, { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Noto+Sans+KR:wght@400;500;700;900&display=swap', }, ], }, }, // 개발 서버 설정 — 도커/윈도우 핫 리로딩 및 외부 도메인(ngrok) 허용 vite: { server: { allowedHosts: true, watch: { usePolling: true, }, }, }, typescript: { typeCheck: false, // CI/별도 명령(npm run typecheck)에서 vue-tsc 로 검사 strict: true, }, })