[SSR 비활성화] SPA 방식으로 변경

This commit is contained in:
sohot8653
2025-10-21 15:54:01 +09:00
parent 7bbbdbe977
commit f2a717df4f
8 changed files with 33 additions and 51 deletions

View File

@@ -1,8 +1,4 @@
export default async function useOverlay() {
if (import.meta.server) {
// SSR에서는 cytoscape-overlays를 사용하지 않음
return null
}
// 전체 export 객체를 반환
return await import('cytoscape-overlays')
// SPA 모드에서는 항상 클라이언트에서만 실행됨
return await import("cytoscape-overlays");
}

View File

@@ -1,5 +1,4 @@
export default defineNuxtRouteMiddleware(async (to, _from) => {
if (import.meta.client) {
const userStore = useUserStore();
const { hasPagePermission } = usePermission();
@@ -28,5 +27,4 @@ export default defineNuxtRouteMiddleware(async (to, _from) => {
return navigateTo("/");
}
}
}
});

View File

@@ -1,6 +1,6 @@
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
compatibilityDate: "2025-05-15",
ssr: false,
devtools: { enabled: true },
modules: [
"@nuxt/eslint",
@@ -36,7 +36,7 @@ export default defineNuxtConfig({
shim: false,
strict: true,
},
plugins: ["~/plugins/vue3-tui-grid.client.ts"],
plugins: ["~/plugins/vue3-tui-grid.ts"],
components: [
{ path: "~/components/base", pathPrefix: false }, // @base/ 접두사 제거
{ path: "~/components/layout", pathPrefix: false }, // @layout/ 접두사 제거

View File

@@ -19,18 +19,6 @@ export default defineNuxtPlugin(() => {
...(isFormData ? {} : { "Content-Type": "application/json" }),
...(options.headers || {}),
};
// 3) SSR 쿠키 포워딩
if (import.meta.server) {
const cookie = useRequestHeaders(["cookie"])?.cookie;
const reqUrl = String(request);
const isBackendApi =
!reqUrl.startsWith("http") || reqUrl.startsWith(baseURL);
if (cookie && isBackendApi) {
options.headers = { ...(options.headers || {}), cookie } as any;
}
}
},
onResponseError({ response }) {
// 공통 로깅