[{"data":1,"prerenderedAt":552},["ShallowReactive",2],{"navigation_docs_ko":3,"-ko-note-nuxt4-nuxt-auto-import":195,"-ko-note-nuxt4-nuxt-auto-import-surround":547},[4,124,181],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":27},"Note (개발 지식)","emojione-v1:note-pad","\u002Fko\u002Fnote","ko\u002F1.note",[10,28,42,68,78,88,104,114],{"title":11,"icon":12,"path":13,"stem":14,"children":15,"page":27},"Spring","logos:spring-icon","\u002Fko\u002Fnote\u002Fspring","ko\u002F1.note\u002F0.spring",[16],{"title":17,"icon":18,"path":19,"stem":20,"children":21,"page":27},"Spring Ai","custom:ai","\u002Fko\u002Fnote\u002Fspring\u002Fspring-ai","ko\u002F1.note\u002F0.spring\u002F1.spring-ai",[22],{"title":23,"path":24,"stem":25,"icon":26},"Spring AI 핵심 개념과 LLM 애플리케이션 구조 이해","\u002Fko\u002Fnote\u002Fspring\u002Fspring-ai\u002Fspring-ai","ko\u002F1.note\u002F0.spring\u002F1.spring-ai\u002F1.spring-ai","lucide:file-text",false,{"title":29,"icon":30,"path":31,"stem":32,"children":33,"page":27},"Javascript","skill-icons:javascript","\u002Fko\u002Fnote\u002Fjavascript","ko\u002F1.note\u002F1.javascript",[34,38],{"title":35,"path":36,"stem":37,"icon":26},"Promise.all과 구조 분해 할당을 활용한 데이터 처리 패턴","\u002Fko\u002Fnote\u002Fjavascript\u002Fdestructuring","ko\u002F1.note\u002F1.javascript\u002F1.destructuring",{"title":39,"path":40,"stem":41,"icon":26},"JavaScript 배열 고차 함수와 데이터 처리 패턴 이해","\u002Fko\u002Fnote\u002Fjavascript\u002Ffilter","ko\u002F1.note\u002F1.javascript\u002F2.filter",{"title":43,"icon":44,"path":45,"stem":46,"children":47,"page":27},"Nuxt4","logos:nuxt-icon","\u002Fko\u002Fnote\u002Fnuxt4","ko\u002F1.note\u002F2.nuxt4",[48,52,56,60,64],{"title":49,"path":50,"stem":51,"icon":26},"Nuxt 4를 선택한 이유와 아키텍처 및 실무 가이드","\u002Fko\u002Fnote\u002Fnuxt4\u002Fnuxt-info","ko\u002F1.note\u002F2.nuxt4\u002F1.nuxt-info",{"title":53,"path":54,"stem":55,"icon":26},"Nuxt useAsyncData 동작 원리와 SSR 데이터 페칭 최적화","\u002Fko\u002Fnote\u002Fnuxt4\u002Fnuxt-use_async_data","ko\u002F1.note\u002F2.nuxt4\u002F2.nuxt-use_async_data",{"title":57,"path":58,"stem":59,"icon":26},"Nuxt Content v3 데이터 모델과 Query 시스템 이해","\u002Fko\u002Fnote\u002Fnuxt4\u002Fnuxt-content-v3","ko\u002F1.note\u002F2.nuxt4\u002F3.nuxt-content-v3",{"title":61,"path":62,"stem":63,"icon":26},"Nuxt Auto-imports 내부 동작과 컴파일 과정 분석","\u002Fko\u002Fnote\u002Fnuxt4\u002Fnuxt-auto-import","ko\u002F1.note\u002F2.nuxt4\u002F4.nuxt-auto-import",{"title":65,"path":66,"stem":67,"icon":26},"Nuxt 렌더링 방식 이해: SSR, SSG, ISR, CSR 구현 방법","\u002Fko\u002Fnote\u002Fnuxt4\u002Fnuxt-rendering-strategy","ko\u002F1.note\u002F2.nuxt4\u002F5.nuxt-rendering-strategy",{"title":69,"icon":70,"path":71,"stem":72,"children":73,"page":27},"Nitro","unjs:nitro","\u002Fko\u002Fnote\u002Fnitro","ko\u002F1.note\u002F3.nitro",[74],{"title":75,"path":76,"stem":77,"icon":26},"Nitro 아키텍처와 서버 엔진 구조","\u002Fko\u002Fnote\u002Fnitro\u002Fnitro","ko\u002F1.note\u002F3.nitro\u002Fnitro",{"title":79,"icon":80,"path":81,"stem":82,"children":83,"page":27},"Devops","vscode-icons:file-type-pipeline","\u002Fko\u002Fnote\u002Fdevops","ko\u002F1.note\u002F4.devops",[84],{"title":85,"path":86,"stem":87,"icon":26},"서버사이드 WebAssembly(Wasm)와 차세대 실행 환경","\u002Fko\u002Fnote\u002Fdevops\u002Fwebassembly","ko\u002F1.note\u002F4.devops\u002F1.webAssembly",{"title":89,"icon":90,"path":91,"stem":92,"children":93,"page":27},"Tooling","lucide:wrench","\u002Fko\u002Fnote\u002Ftooling","ko\u002F1.note\u002F4.tooling",[94],{"title":95,"icon":96,"path":97,"stem":98,"children":99,"page":27},"Package Manager","devicon:npm","\u002Fko\u002Fnote\u002Ftooling\u002Fpackage-manager","ko\u002F1.note\u002F4.tooling\u002F1.package-manager",[100],{"title":101,"path":102,"stem":103,"icon":26},"Package Lock 파일의 역할과 의존성 관리 원리","\u002Fko\u002Fnote\u002Ftooling\u002Fpackage-manager\u002Fpackage-lock","ko\u002F1.note\u002F4.tooling\u002F1.package-manager\u002F1.package-lock",{"title":105,"icon":106,"path":107,"stem":108,"children":109,"page":27},"Web","streamline-plump:web","\u002Fko\u002Fnote\u002Fweb","ko\u002F1.note\u002F4.web",[110],{"title":111,"path":112,"stem":113,"icon":26},"웹 애플리케이션 렌더링 아키텍처 이해","\u002Fko\u002Fnote\u002Fweb\u002Frendering-modes","ko\u002F1.note\u002F4.web\u002F2.rendering-modes",{"title":115,"icon":116,"path":117,"stem":118,"children":119,"page":27},"SEO","icon-park-solid:seo","\u002Fko\u002Fnote\u002Fseo","ko\u002F1.note\u002F6.seo",[120],{"title":121,"path":122,"stem":123,"icon":26},"[SEO] 개발 블로그 검색 노출을 위한 robots.txt와 SEO 설정 가이드","\u002Fko\u002Fnote\u002Fseo\u002Fseo","ko\u002F1.note\u002F6.seo\u002F1.seo",{"title":125,"icon":126,"path":127,"stem":128,"children":129,"page":27},"Project (개발일지)","icon-park-solid:branch-two","\u002Fko\u002Fproject","ko\u002F2.project",[130],{"title":131,"icon":132,"path":133,"stem":134,"children":135,"page":27},"Brolog","custom:symbol","\u002Fko\u002Fproject\u002Fbrolog","ko\u002F2.project\u002F1.brolog",[136,140,144,148,152,156,160,164,168,173,177],{"title":137,"path":138,"stem":139,"icon":26},"Brolog 프로젝트 개요","\u002Fko\u002Fproject\u002Fbrolog\u002Foutline","ko\u002F2.project\u002F1.brolog\u002F1.outline",{"title":141,"path":142,"stem":143,"icon":26},"[Brolog] Nuxt Multi Layer 프로젝트 Vercel 배포 (3) - Runtime 기능 문제 분석과 AI Assistant 전환","\u002Fko\u002Fproject\u002Fbrolog\u002Fvercel-deploy3-ai-integration","ko\u002F2.project\u002F1.brolog\u002F10.vercel-deploy3-ai-integration",{"title":145,"path":146,"stem":147,"icon":26},"[Brolog] AI Assistant 적용 과정 - Agent 구조와 API 사용량 관리 시 고려사항","\u002Fko\u002Fproject\u002Fbrolog\u002Fai-assistant-application-process","ko\u002F2.project\u002F1.brolog\u002F11.ai-assistant-application-process",{"title":149,"path":150,"stem":151,"icon":26},"[Brolog] 검색 엔진 노출을 위한 SEO 적용 과정","\u002Fko\u002Fproject\u002Fbrolog\u002Fbrolog-seo","ko\u002F2.project\u002F1.brolog\u002F12.brolog-seo",{"title":153,"path":154,"stem":155,"icon":26},"Brolog 프로젝트 구조","\u002Fko\u002Fproject\u002Fbrolog\u002Fstructure","ko\u002F2.project\u002F1.brolog\u002F2.structure",{"title":157,"path":158,"stem":159,"icon":26},"[Nuxt Content] 네비게이션 아이콘 커스텀 빌드","\u002Fko\u002Fproject\u002Fbrolog\u002Fcustom-icon","ko\u002F2.project\u002F1.brolog\u002F3.custom-icon",{"title":161,"path":162,"stem":163,"icon":26},"[Nuxt 4] Auto-imports 동작 원리와 자동 import 시스템 이해","\u002Fko\u002Fproject\u002Fbrolog\u002Fnuxt-auto-import","ko\u002F2.project\u002F1.brolog\u002F4.nuxt-auto-import",{"title":165,"path":166,"stem":167,"icon":26},"[Brolog] 개발 블로그 메인 페이지 구현","\u002Fko\u002Fproject\u002Fbrolog\u002Fdevelop-main","ko\u002F2.project\u002F1.brolog\u002F5.develop-main",{"title":169,"path":170,"stem":171,"icon":172},"[Brolog] 브랜드 아이덴티티 적용 - Custom 404 페이지와 Default No Image 구현","\u002Fko\u002Fproject\u002Fbrolog\u002Fcustom-error-and-default-thumbnail","ko\u002F2.project\u002F1.brolog\u002F6.custom-error-and-default-thumbnail","lucide:image",{"title":174,"path":175,"stem":176,"icon":26},"[Brolog] Nuxt Multi Layer 프로젝트 Vercel 배포 (1)","\u002Fko\u002Fproject\u002Fbrolog\u002Fvercel-deploy1","ko\u002F2.project\u002F1.brolog\u002F8.vercel-deploy1",{"title":178,"path":179,"stem":180,"icon":26},"[Brolog] Nuxt Multi Layer 프로젝트 Vercel 배포 (2) - Build Pipeline 오류 분석과 Nuxt 실행 구조 이해","\u002Fko\u002Fproject\u002Fbrolog\u002Fvercel-deploy2-error-analyze","ko\u002F2.project\u002F1.brolog\u002F9.vercel-deploy2-error-analyze",{"title":182,"icon":183,"path":184,"stem":185,"children":186,"page":27},"Error (트러블슈팅)","emojione:stop-sign","\u002Fko\u002Ftrouble-shooting","ko\u002F3.trouble-shooting",[187],{"title":131,"icon":132,"path":188,"stem":189,"children":190,"page":27},"\u002Fko\u002Ftrouble-shooting\u002Fbrolog","ko\u002F3.trouble-shooting\u002F1.brolog",[191],{"title":192,"path":193,"stem":194,"icon":26},"[Nuxt Content] Nuxt Icon 오류 해결과 Custom Collection 기반 오프라인 아이콘 구성","\u002Fko\u002Ftrouble-shooting\u002Fbrolog\u002Fnuxt-icon-restricted-network-troubleshooting","ko\u002F3.trouble-shooting\u002F1.brolog\u002F1.nuxt-icon-restricted-network-troubleshooting",{"id":196,"title":61,"body":197,"date":531,"description":532,"extension":533,"links":534,"meta":535,"navigation":542,"path":62,"seo":543,"stem":63,"__hash__":546},"docs_ko\u002Fko\u002F1.note\u002F2.nuxt4\u002F4.nuxt-auto-import.md",{"type":198,"value":199,"toc":513},"minimark",[200],[201,202,204,209,230,241,244,248,251,261,274,297,301,327,329,333,336,340,433,435,439,446,450,460,464,480,482,486,493],"u-page-card",{":spotlight":203},"true",[205,206,208],"h2",{"id":207},"_1-정적-선언-방식의-한계와-추상화-레이어의-도입","1. 정적 선언 방식의 한계와 추상화 레이어의 도입",[210,211,212,213,217,218,221,222,225,226,229],"p",{},"순수 Vue 3 컴포지션 API 기반의 프론트엔드 개발 환경에서는 컴포넌트를 작성할 때마다 파일 최상단에 ",[214,215,216],"code",{},"import { ref, computed, onMounted } from 'vue'","와 같은 명시적 선언 구문이 강제된다. 또한 프로젝트의 규모가 커질수록 ",[214,219,220],{},"composables\u002F","나 ",[214,223,224],{},"components\u002F"," 디렉토리 내의 소스를 가져오기 위해 복잡한 상대 경로(",[214,227,228],{},"..\u002F..\u002Fcomponents\u002F",")를 수동으로 계산해야 하는 피로감이 동반된다.",[210,231,232,236,237,240],{},[233,234,235],"strong",{},"Nuxt 4","는 이러한 반복적이고 정적인 선언 지옥을 해결하기 위해 엔진 자체에 강력한 ",[233,238,239],{},"Auto-imports(자동 임포트)"," 인프라를 기본 탑재했다. 이 시스템은 단순한 글로벌 변수 바인딩이 아니며, 빌드 타임에 가상 추상화 레이어를 형성하여 개발 생산성(DX)과 프로덕션 최적화(Performance)를 동시에 충족하는 정밀한 컴파일러 메커니즘으로 작동한다.",[242,243],"hr",{},[205,245,247],{"id":246},"_2-auto-imports-가상-링킹-아키텍처-및-동작-파이프라인","2. Auto-imports 가상 링킹 아키텍처 및 동작 파이프라인",[210,249,250],{},"Nuxt 4 엔진이 명시적 import 구문 없이도 코드의 참조 무결성을 유지하는 파이프라인은 크게 두 가지 단계(개발 시점의 가상 타입 맵 생성, 빌드 시점의 동적 주입)로 분리되어 작동한다.",[252,253,259],"pre",{"className":254,"code":256,"language":257,"meta":258},[255],"language-text","[ 개발자 코드 작성 ] ── (import 구문 생략 상태)\n       │\n       ├─► [ 개발 서버 \u002F nuxi prepare ] ──► .nuxt\u002F 디렉토리 내 가상 타입 생성 (*.d.ts)\n       │                                     └─ VS Code 등 IDE에서 정적 분석 및 자동완성 매핑\n       │\n       ▼ (프로덕션 빌드 롤업 컴파일러 가동)\n[ 정적 코드 분석 (AST Parser) ]\n       │\n       ├─► 전역 등록 맵과 소스 코드 내 식별자 매칭 검증\n       ▼\n[ 코드 트랜스파일링 (Transpiling) ] ──► 필요한 원본 import 구문을 실제 컴파일 결과물에 자동 주입\n       │\n       ▼\n[ 트리 쉐이킹 및 최종 번들 아웃풋 ] ──► 사용하지 않는 자원은 완벽히 제거된 최적화 상태 유지\n","text","",[214,260,256],{"__ignoreMap":258},[262,263,265,266,269,270,273],"h3",{"id":264},"nuxt-디렉토리-내부의-가상-타입-맵핑-dts","① ",[214,267,268],{},".nuxt\u002F"," 디렉토리 내부의 가상 타입 맵핑 (",[214,271,272],{},"d.ts",")",[210,275,276,277,280,281,284,285,288,289,292,293,296],{},"개발 서버(",[214,278,279],{},"npm run dev",")를 실행하거나 ",[214,282,283],{},"npx nuxi prepare"," 명령어를 트리거하면, Nuxt 4 엔진은 프로젝트 루트와 하위 레이어의 에셋 경로를 정밀하게 스캔한다.\n그 후 ",[214,286,287],{},".nuxt\u002Fimports.d.ts"," 및 ",[214,290,291],{},".nuxt\u002Fcomponents.d.ts","와 같은 ",[233,294,295],{},"엠비언트 타입 선언 파일","들을 실시간으로 빌드한다. 이 가상 지도가 프로젝트 전역에 바인딩되기 때문에 TypeScript 컴파일러와 IDE는 파일 상단에 import문이 없어도 해당 함수의 원본 출처와 매개변수 타입 스펙을 정확하게 인지하고 자동완성을 지원하게 된다.",[262,298,300],{"id":299},"추상-구문-트리ast-기반의-동적-주입-및-트리-쉐이킹tree-shaking","② 추상 구문 트리(AST) 기반의 동적 주입 및 트리 쉐이킹(Tree-shaking)",[210,302,303,304,307,308,311,312,221,315,318,319,322,323,326],{},"글로벌 ",[214,305,306],{},"window"," 객체에 변수나 컴포넌트를 강제로 할당하는 방식은 런타임 오염과 번들 크기 비대화를 초래한다. Nuxt 4는 이 문제를 ",[233,309,310],{},"컴파일 타임의 코드 생성","으로 우회한다.\n최종 프로덕션 빌드 시점에서 Vite 및 Rollup 기반의 내장 컴파일러는 소스 코드를 AST(Abstract Syntax Tree) 구조로 파싱한다. 코드 내에 ",[214,313,314],{},"ref",[214,316,317],{},"\u003CCustomButton \u002F>"," 같은 식별자가 감지되면, 컴파일러가 번들링 직전 단계에서 ",[214,320,321],{},"import { ref } from 'vue'"," 코드를 ",[233,324,325],{},"컴파일된 가상 자바스크립트 파일 상단에 물리적으로 결합","시킨다. 결과적으로 런타임 환경에서는 명시적으로 import를 작성한 코드와 완벽히 동일하게 동작하므로 트리 쉐이킹과 코드 스플리팅 이점이 훼손되지 않는다.",[242,328],{},[205,330,332],{"id":331},"_3-구조적-자동-스캔-범위-및-디렉토리-규칙","3. 구조적 자동 스캔 범위 및 디렉토리 규칙",[210,334,335],{},"Nuxt 4의 오토 임포트 시스템은 프레임워크 코어와 확장 모듈, 그리고 사용자가 지정한 물리적 디렉토리 규칙을 기반으로 삼원화되어 관리된다.",[262,337,339],{"id":338},"자동-임포트-대상-분석-및-특징","🤝 자동 임포트 대상 분석 및 특징",[341,342,343,360],"table",{},[344,345,346],"thead",{},[347,348,349,354,357],"tr",{},[350,351,353],"th",{"align":352},"left","구분 팩터",[350,355,356],{"align":352},"스캔 대상 및 소속 생태계",[350,358,359],{"align":352},"내부 동작 원리 및 특징",[361,362,363,395,418],"tbody",{},[347,364,365,371,381],{},[366,367,368],"td",{"align":352},[233,369,370],{},"Core APIs",[366,372,373,376,377,380],{"align":352},[214,374,375],{},"vue",", ",[214,378,379],{},"nuxt"," Core",[366,382,383,376,385,376,388,376,391,394],{"align":352},[214,384,314],{},[214,386,387],{},"computed",[214,389,390],{},"useFetch",[214,392,393],{},"useAsyncData"," 등 프레임워크 핵심 런타임에 내장된 컴포저블을 상시 링킹 명단에 상주 처리함.",[347,396,397,402,407],{},[366,398,399],{"align":352},[233,400,401],{},"Components",[366,403,404,406],{"align":352},[214,405,224],{}," 디렉토리 전체",[366,408,409,410,413,414,417],{"align":352},"파일 시스템 기반의 컴포넌트 자동 스캔 시스템. 하위 폴더 구조를 탐색하여 중첩 경로일 경우 폴더명을 접두사로 결합함. (예: ",[214,411,412],{},"components\u002Fblog\u002FCard.vue"," ➡️ ",[214,415,416],{},"\u003CBlogCard \u002F>"," 태그로 변환)",[347,419,420,425,430],{},[366,421,422],{"align":352},[233,423,424],{},"Composables",[366,426,427,429],{"align":352},[214,428,220],{}," 및 레이어 소스",[366,431,432],{"align":352},"개발자가 직접 작성한 커스텀 헬퍼 함수 및 상태 관리용 함수를 자동 수집. 파일명과 export 이름을 키값으로 매핑하여 전역 공유 인프라에 태움.",[242,434],{},[205,436,438],{"id":437},"_4-확장-모듈modules과-레이어-구조에서의-오토-임포트-확장","4. 확장 모듈(Modules)과 레이어 구조에서의 오토 임포트 확장",[210,440,441,442,445],{},"이 시스템은 서드파티 모듈 및 Nuxt 4의 멀티 레이어(",[214,443,444],{},"extends",") 아키텍처와 호환될 때 높은 확장성을 보여준다.",[262,447,449],{"id":448},"nuxt-content-v3-등-외부-모듈의-연동-메커니즘","① Nuxt Content v3 등 외부 모듈의 연동 메커니즘",[210,451,452,455,456,459],{},[214,453,454],{},"queryCollection()","과 같은 신형 데이터 API 역시, Nuxt Content v3 모듈 컨텍스트 내부에서 ",[214,457,458],{},"addImports"," 코어를 통해 **\"해당 모듈이 활성화될 때 이 함수 스펙을 Nuxt 엔진의 글로벌 오토 임포트 레지스트리에 주입해달라\"**고 명시했기 때문에 개발자가 임포트 없이 가져다 쓸 수 있는 구조가 성립된다.",[262,461,463],{"id":462},"멀티-레이어-환경에서의-병합-순서","② 멀티 레이어 환경에서의 병합 순서",[210,465,466,467,470,471,221,473,475,476,479],{},"하위 레이어(",[214,468,469],{},"layer\u002F",")에 정의된 ",[214,472,224],{},[214,474,220],{}," 역시 메인 프로젝트(",[214,477,478],{},"docs\u002F",") 빌드 타임에 우선순위 체계를 거쳐 자동으로 병합(Merge)된다. 메인 프로젝트에서 동일한 이름의 컴포넌트나 함수를 선언할 경우, 오토 임포트 맵은 메인 소스를 최우선 순위로 지정하여 레이어 원본을 자연스럽게 오버라이딩(Overriding)하도록 설계되어 있다.",[242,481],{},[205,483,485],{"id":484},"_5-결론-및-아키텍처적-유의사항","5. 결론 및 아키텍처적 유의사항",[210,487,488,489,492],{},"Nuxt 4의 Auto-imports는 개발자에게 선언의 자유를 부여하고 가독성을 극대화하는 훌륭한 추상화 장치다. 그러나 모든 편리함은 프레임워크가 규정한 ",[233,490,491],{},"엄격한 디렉토리 명명 규칙과 구조적 약속"," 위에서만 성립된다.",[494,495,496,503],"ul",{},[497,498,499,502],"li",{},[233,500,501],{},"명칭 충돌 제어:"," 서로 다른 폴더나 모듈에서 완전히 동일한 이름의 컴포저블을 내보낼 경우 오토 임포트 맵에 충돌이 발생하여 의도치 않은 함수가 호출될 위험성이 있으므로 고유한 네임스페이스 규칙을 정립하는 것이 안전하다.",[497,504,505,508,509,512],{},[233,506,507],{},"추상화 레이어의 이해:"," 임포트 생략 뒤에서 실시간으로 가상 타입 파일(",[214,510,511],{},".d.ts",")을 컴파일하고 AST 분석을 제어하는 Nuxt 4 컴파일러의 내부 설계를 이해하고 활용하는 것은, 복잡한 모노레포나 멀티 레이어 프로젝트를 빌드 오류 없이 안정적으로 유지 관리하기 위한 핵심 기반 지식이다.",{"title":258,"searchDepth":514,"depth":514,"links":515},2,[516,517,523,526,530],{"id":207,"depth":514,"text":208},{"id":246,"depth":514,"text":247,"children":518},[519,522],{"id":264,"depth":520,"text":521},3,"① .nuxt\u002F 디렉토리 내부의 가상 타입 맵핑 (d.ts)",{"id":299,"depth":520,"text":300},{"id":331,"depth":514,"text":332,"children":524},[525],{"id":338,"depth":520,"text":339},{"id":437,"depth":514,"text":438,"children":527},[528,529],{"id":448,"depth":520,"text":449},{"id":462,"depth":520,"text":463},{"id":484,"depth":514,"text":485},"2026-07-11","Nuxt의 Auto-imports 시스템이 정적 분석을 통해 Composable과 Component를 연결하는 방식과 빌드 타임 처리 과정을 분석","md",null,{"tags":536,"image":541},[43,537,538,539,540],"AutoImports","Architecture","Vue3","Compiler","images\u002Fnuxt-thumbnail.png",{"icon":26},{"title":544,"description":545},"Nuxt Auto-imports 내부 원리와 컴파일 과정 분석","Nuxt Auto-imports가 import 선언을 자동으로 처리하는 방식과 가상 모듈, 정적 분석, 트리 쉐이킹 구조를 살펴봅니다.","GL4C6a8j7c-t5hcpXpjB_lVHQlVCd1KvrpBxSBvpPqk",[548,550],{"title":57,"path":58,"stem":59,"description":549,"icon":26,"children":-1},"Nuxt Content v3의 SQLite 기반 데이터 구조, Collections 시스템, Schema 정의 방식과 콘텐츠 조회 메커니즘 정리",{"title":65,"path":66,"stem":67,"description":551,"icon":26,"children":-1},"Nuxt에서 지원하는 SSR, SSG, ISR 렌더링 방식의 차이와 각각의 사용 방법, 데이터 패칭 전략을 정리",1785305903813]