nuxt2

Nuxt.js

SSR (Universal) vs SPA vs SSG

- SSR SPA SSG
모드 (config) ssr: true (universal) ssr: fasle (spa) target: ‘static’
서버 유/무 포함 (node.js 필요) 포함 (node.js 필요)
SEO 최적화 불가 최적화
빌드 생성 방식 npm run build npm run build npm run generate
  • SSR (universal) 모드:
    • ssr: true 로 설정하면 ssr 모드로 동작
    • 페이지 첫 접근 시 SSR 렌더링 되고, 페이지 간 이동은 CSR 로 진행 된다.
    • SEO 최적화
  • SPA 모드:
    • ssr: false 로 설정하면 spa 모드로 동작
    • CSR 로 렌더링
    • SEO 불가
  • SSG 모드:
    • target: ‘server’ 로 설정 하면 런타임 때 요청에 맞춰 정적 html 렌더링
    • target: ‘static’ 으로 설정 하면 사용자가 요청 하기 전 빌드 시점에 미리 정적 html 만들어 렌더링
    • SEO 최적화
    • 동적 url 처리 등은 불가 하며 단순 정적 페이지 같은 경우에 적합
    • MPA + SSG 조합 hybrid 방식 개발 가능

Nuxt 도입을 고려해야 할 때 하나의 프레임워크로 SSR, SPA, SSG 선택 개발이 가능하다라고 접근해야지, 추후 모드만 변경한다고 해서 Nuxt 가 모든걸 알아서 SSR, SPA, SSG 빌드 처리를 완벽하게 지원 한다라고 생각하면 안된다. (단적인 예로 SSR 모드 기준으로 개발을 진행하다가 도중 SPA 모드로 변경 시 SSR에서만 사용되는 특정 라이프 사이클 메서드 부분에서 에러가 발생 될 수 있다.)

공유하기