diff --git a/app/app.vue b/app/app.vue index fa9d62d..c0edfec 100644 --- a/app/app.vue +++ b/app/app.vue @@ -18,15 +18,6 @@ const { gameData } = storeToRefs(gameDataStore) const { confirm, alert } = modalStore const { scrollGnbPosition } = storeToRefs(scrollStore) -const metaData = ref(null) - -// SSR에서 게임 데이터 가져오기 -const getGameDataFromServer = (): GameDataValue | null => { - return import.meta.server - ? nuxtApp.ssrContext?.event?.context?.gameData - : null -} - // 통합 메타데이터 설정 const setupAllMetaData = (data: GameDataValue) => { const meta = data.meta_tag_json ?? ({} as GameDataMetaTag) @@ -97,18 +88,12 @@ const setupAllMetaData = (data: GameDataValue) => { }) } -// 메타 데이터 설정 -const setupMetaData = (data: GameDataValue) => { - metaData.value = data.meta_tag_json - setupAllMetaData(data) -} - -// 초기화 로직 실행 -const serverGameData = getGameDataFromServer() - -if (serverGameData) { - setGameData(serverGameData) - setupMetaData(serverGameData) +if (import.meta.server) { + const gameData = nuxtApp.ssrContext?.event?.context?.gameData + if (gameData) { + setGameData(gameData) + setupAllMetaData(gameData) + } } let rafId: number | null = null diff --git a/layers/nuxt.config.ts b/layers/nuxt.config.ts index 5ba92bf..fd7bbc7 100644 --- a/layers/nuxt.config.ts +++ b/layers/nuxt.config.ts @@ -1,7 +1,10 @@ import { defineNuxtConfig } from 'nuxt/config' +import { resolve } from 'node:path' export default defineNuxtConfig({ - // Layer-specific configuration + alias: { + '#layers': resolve(__dirname, '.'), + }, imports: { dirs: ['composables', 'stores', 'types', 'middleware', 'server', 'utils'], global: true, diff --git a/nuxt.config.ts b/nuxt.config.ts index 3710529..4211d79 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -68,31 +68,11 @@ export default defineNuxtConfig({ 'nuxt-gtag', '@nuxtjs/device', ], - imports: { - dirs: [ - 'layers/types', - 'layers/components', - 'layers/composables', - 'layers/layouts', - 'layers/middleware', - 'layers/plugins', - 'layers/registry', - 'layers/server', - 'layers/stores', - 'layers/utils', - ], - global: true, - }, - components: { - dirs: ['~/components', 'layers/components'], - global: true, - }, + extends: ['./layers'], alias: { '@': resolve(__dirname, '.'), '#layers': resolve(__dirname, 'layers'), }, - extends: ['./layers'], - // i18n 설정 - 런타임에 동적으로 설정됨 i18n: getI18n(), typescript: { @@ -101,7 +81,6 @@ export default defineNuxtConfig({ }, // [test] Nuxt가 pages 스캔하도록 명시 pages: true, - // 런타임 환경 변수 설정 runtimeConfig: { public: {