[{"data":1,"prerenderedAt":6832},["ShallowReactive",2],{"$fGCo9l1hMtNdUiA6QzdUX5X3kLqaWcC5t2kdz4LrvCvc":3,"versions":2028,"-docs-4-x-guide-going-further-experimental-features":2032,"-docs-4-x-guide-going-further-experimental-features-surround":6827},[4,1120,1939],{"title":5,"titleTemplate":6,"icon":7,"path":8,"stem":9,"children":10,"page":108},"Docs",null,"i-lucide-book-marked","/docs/3.x","docs/3.x",[11,109,246,426,907,999,1036,1078],{"title":12,"titleTemplate":13,"icon":14,"path":15,"stem":16,"children":17,"page":108},"Get Started","%s · Get Started with Nuxt","i-lucide-rocket","/docs/3.x/getting-started","docs/3.x/1.getting-started",[18,23,28,33,38,43,48,53,58,63,68,73,78,83,88,93,98,103],{"title":19,"path":20,"stem":21,"titleTemplate":6,"icon":22},"Introduction","/docs/3.x/getting-started/introduction","docs/3.x/1.getting-started/01.introduction","i-lucide-info",{"title":24,"path":25,"stem":26,"titleTemplate":6,"icon":27},"Installation","/docs/3.x/getting-started/installation","docs/3.x/1.getting-started/02.installation","i-lucide-play",{"title":29,"path":30,"stem":31,"titleTemplate":6,"icon":32},"Configuration","/docs/3.x/getting-started/configuration","docs/3.x/1.getting-started/03.configuration","i-lucide-cog",{"title":34,"path":35,"stem":36,"titleTemplate":6,"icon":37},"Views","/docs/3.x/getting-started/views","docs/3.x/1.getting-started/04.views","i-lucide-panels-top-left",{"title":39,"path":40,"stem":41,"titleTemplate":6,"icon":42},"Assets","/docs/3.x/getting-started/assets","docs/3.x/1.getting-started/05.assets","i-lucide-image",{"title":44,"path":45,"stem":46,"titleTemplate":6,"icon":47},"Styling","/docs/3.x/getting-started/styling","docs/3.x/1.getting-started/06.styling","i-lucide-palette",{"title":49,"path":50,"stem":51,"titleTemplate":6,"icon":52},"Routing","/docs/3.x/getting-started/routing","docs/3.x/1.getting-started/07.routing","i-lucide-milestone",{"title":54,"path":55,"stem":56,"titleTemplate":6,"icon":57},"SEO and Meta","/docs/3.x/getting-started/seo-meta","docs/3.x/1.getting-started/08.seo-meta","i-lucide-file-search",{"title":59,"path":60,"stem":61,"titleTemplate":6,"icon":62},"Transitions","/docs/3.x/getting-started/transitions","docs/3.x/1.getting-started/09.transitions","i-lucide-toggle-right",{"title":64,"path":65,"stem":66,"titleTemplate":6,"icon":67},"Data Fetching","/docs/3.x/getting-started/data-fetching","docs/3.x/1.getting-started/10.data-fetching","i-lucide-cable",{"title":69,"path":70,"stem":71,"titleTemplate":6,"icon":72},"State Management","/docs/3.x/getting-started/state-management","docs/3.x/1.getting-started/11.state-management","i-lucide-database",{"title":74,"path":75,"stem":76,"titleTemplate":6,"icon":77},"Error Handling","/docs/3.x/getting-started/error-handling","docs/3.x/1.getting-started/12.error-handling","i-lucide-bug-off",{"title":79,"path":80,"stem":81,"titleTemplate":6,"icon":82},"Server","/docs/3.x/getting-started/server","docs/3.x/1.getting-started/13.server","i-lucide-pc-case",{"title":84,"path":85,"stem":86,"titleTemplate":6,"icon":87},"Layers","/docs/3.x/getting-started/layers","docs/3.x/1.getting-started/14.layers","i-lucide-layers",{"title":89,"path":90,"stem":91,"titleTemplate":6,"icon":92},"Prerendering","/docs/3.x/getting-started/prerendering","docs/3.x/1.getting-started/15.prerendering","i-lucide-file-code-2",{"title":94,"path":95,"stem":96,"titleTemplate":6,"icon":97},"Deployment","/docs/3.x/getting-started/deployment","docs/3.x/1.getting-started/16.deployment","i-lucide-cloud",{"title":99,"path":100,"stem":101,"titleTemplate":6,"icon":102},"Testing","/docs/3.x/getting-started/testing","docs/3.x/1.getting-started/17.testing","i-lucide-circle-check",{"title":104,"path":105,"stem":106,"titleTemplate":6,"icon":107},"Upgrade Guide","/docs/3.x/getting-started/upgrade","docs/3.x/1.getting-started/18.upgrade","i-lucide-circle-arrow-up",false,{"title":110,"titleTemplate":111,"icon":112,"path":113,"stem":114,"children":115,"page":108},"Directory Structure","%s · Nuxt Directory Structure","i-vscode-icons-default-folder","/docs/3.x/directory-structure","docs/3.x/2.directory-structure",[116,121,126,131,136,141,146,151,156,161,165,170,174,179,184,189,194,199,204,209,214,218,223,228,232,236,241],{"title":117,"path":118,"stem":119,"titleTemplate":6,"icon":120},".nuxt","/docs/3.x/directory-structure/nuxt","docs/3.x/2.directory-structure/0.nuxt","i-vscode-icons-folder-type-temp",{"title":122,"path":123,"stem":124,"titleTemplate":6,"icon":125},".output","/docs/3.x/directory-structure/output","docs/3.x/2.directory-structure/0.output","i-vscode-icons-folder-type-package",{"title":127,"path":128,"stem":129,"titleTemplate":6,"icon":130},"assets","/docs/3.x/directory-structure/assets","docs/3.x/2.directory-structure/1.assets","i-vscode-icons-folder-type-asset",{"title":132,"path":133,"stem":134,"titleTemplate":6,"icon":135},"components","/docs/3.x/directory-structure/components","docs/3.x/2.directory-structure/1.components","i-vscode-icons-folder-type-component",{"title":137,"path":138,"stem":139,"titleTemplate":6,"icon":140},"composables","/docs/3.x/directory-structure/composables","docs/3.x/2.directory-structure/1.composables","i-vscode-icons-folder-type-src",{"title":142,"path":143,"stem":144,"titleTemplate":6,"icon":145},"content","/docs/3.x/directory-structure/content","docs/3.x/2.directory-structure/1.content","i-vscode-icons-folder-type-log",{"title":147,"path":148,"stem":149,"titleTemplate":6,"icon":150},"layers","/docs/3.x/directory-structure/layers","docs/3.x/2.directory-structure/1.layers","i-vscode-icons-folder-type-nuxt",{"title":152,"path":153,"stem":154,"titleTemplate":6,"icon":155},"layouts","/docs/3.x/directory-structure/layouts","docs/3.x/2.directory-structure/1.layouts","i-vscode-icons-folder-type-view",{"title":157,"path":158,"stem":159,"titleTemplate":6,"icon":160},"middleware","/docs/3.x/directory-structure/middleware","docs/3.x/2.directory-structure/1.middleware","i-vscode-icons-folder-type-middleware",{"title":162,"path":163,"stem":164,"titleTemplate":6,"icon":150},"modules","/docs/3.x/directory-structure/modules","docs/3.x/2.directory-structure/1.modules",{"title":166,"path":167,"stem":168,"titleTemplate":6,"icon":169},"node_modules","/docs/3.x/directory-structure/node_modules","docs/3.x/2.directory-structure/1.node_modules","i-vscode-icons-folder-type-node",{"title":171,"path":172,"stem":173,"titleTemplate":6,"icon":155},"pages","/docs/3.x/directory-structure/pages","docs/3.x/2.directory-structure/1.pages",{"title":175,"path":176,"stem":177,"titleTemplate":6,"icon":178},"plugins","/docs/3.x/directory-structure/plugins","docs/3.x/2.directory-structure/1.plugins","i-vscode-icons-folder-type-plugin",{"title":180,"path":181,"stem":182,"titleTemplate":6,"icon":183},"public","/docs/3.x/directory-structure/public","docs/3.x/2.directory-structure/1.public","i-vscode-icons-folder-type-public",{"title":185,"path":186,"stem":187,"titleTemplate":6,"icon":188},"server","/docs/3.x/directory-structure/server","docs/3.x/2.directory-structure/1.server","i-vscode-icons-folder-type-server",{"title":190,"path":191,"stem":192,"titleTemplate":6,"icon":193},"shared","/docs/3.x/directory-structure/shared","docs/3.x/2.directory-structure/1.shared","i-vscode-icons-folder-type-shared",{"title":195,"path":196,"stem":197,"titleTemplate":6,"icon":198},"utils","/docs/3.x/directory-structure/utils","docs/3.x/2.directory-structure/1.utils","i-vscode-icons-folder-type-tools",{"title":200,"path":201,"stem":202,"titleTemplate":6,"icon":203},".env","/docs/3.x/directory-structure/env","docs/3.x/2.directory-structure/2.env","i-vscode-icons-file-type-dotenv",{"title":205,"path":206,"stem":207,"titleTemplate":6,"icon":208},".gitignore","/docs/3.x/directory-structure/gitignore","docs/3.x/2.directory-structure/2.gitignore","i-vscode-icons-file-type-git",{"title":210,"path":211,"stem":212,"titleTemplate":6,"icon":213},".nuxtignore","/docs/3.x/directory-structure/nuxtignore","docs/3.x/2.directory-structure/2.nuxtignore","i-vscode-icons-file-type-nuxt",{"title":215,"path":216,"stem":217,"titleTemplate":6,"icon":213},".nuxtrc","/docs/3.x/directory-structure/nuxtrc","docs/3.x/2.directory-structure/2.nuxtrc",{"title":219,"path":220,"stem":221,"titleTemplate":6,"icon":222},"app.vue","/docs/3.x/directory-structure/app","docs/3.x/2.directory-structure/3.app","i-vscode-icons-file-type-vue",{"title":224,"path":225,"stem":226,"titleTemplate":6,"icon":227},"app.config.ts","/docs/3.x/directory-structure/app-config","docs/3.x/2.directory-structure/3.app-config","i-vscode-icons-file-type-light-config",{"title":229,"path":230,"stem":231,"titleTemplate":6,"icon":222},"error.vue","/docs/3.x/directory-structure/error","docs/3.x/2.directory-structure/3.error",{"title":233,"path":234,"stem":235,"titleTemplate":6,"icon":213},"nuxt.config.ts","/docs/3.x/directory-structure/nuxt-config","docs/3.x/2.directory-structure/3.nuxt-config",{"title":237,"path":238,"stem":239,"titleTemplate":6,"icon":240},"package.json","/docs/3.x/directory-structure/package","docs/3.x/2.directory-structure/3.package","i-vscode-icons-file-type-npm",{"title":242,"path":243,"stem":244,"titleTemplate":6,"icon":245},"tsconfig.json","/docs/3.x/directory-structure/tsconfig","docs/3.x/2.directory-structure/3.tsconfig","i-vscode-icons-file-type-tsconfig",{"title":247,"titleTemplate":6,"icon":248,"path":249,"stem":250,"children":251,"page":108},"Guide","i-lucide-book-open","/docs/3.x/guide","docs/3.x/3.guide",[252,287,306,321,356,379],{"title":253,"titleTemplate":254,"icon":255,"path":256,"stem":257,"children":258,"page":108},"Key Concepts","%s · Nuxt Concepts","i-lucide-medal","/docs/3.x/guide/concepts","docs/3.x/3.guide/1.concepts",[259,263,267,271,275,279,283],{"title":260,"path":261,"stem":262,"titleTemplate":6},"Rendering Modes","/docs/3.x/guide/concepts/rendering","docs/3.x/3.guide/1.concepts/1.rendering",{"title":264,"path":265,"stem":266,"titleTemplate":6},"Nuxt Lifecycle","/docs/3.x/guide/concepts/nuxt-lifecycle","docs/3.x/3.guide/1.concepts/2.nuxt-lifecycle",{"title":268,"path":269,"stem":270,"titleTemplate":6},"Auto-imports","/docs/3.x/guide/concepts/auto-imports","docs/3.x/3.guide/1.concepts/3.auto-imports",{"title":272,"path":273,"stem":274,"titleTemplate":6},"Server Engine","/docs/3.x/guide/concepts/server-engine","docs/3.x/3.guide/1.concepts/4.server-engine",{"title":276,"path":277,"stem":278,"titleTemplate":6},"Modules","/docs/3.x/guide/concepts/modules","docs/3.x/3.guide/1.concepts/5.modules",{"title":280,"path":281,"stem":282,"titleTemplate":6},"TypeScript","/docs/3.x/guide/concepts/typescript","docs/3.x/3.guide/1.concepts/8.typescript",{"title":284,"path":285,"stem":286,"titleTemplate":6},"Code Style","/docs/3.x/guide/concepts/code-style","docs/3.x/3.guide/1.concepts/9.code-style",{"title":288,"titleTemplate":289,"icon":290,"path":291,"stem":292,"children":293,"page":108},"Best Practices","%s · Best Practices","i-lucide-square-check","/docs/3.x/guide/best-practices","docs/3.x/3.guide/2.best-practices",[294,298,302],{"title":295,"path":296,"stem":297,"titleTemplate":6},"Nuxt and hydration","/docs/3.x/guide/best-practices/hydration","docs/3.x/3.guide/2.best-practices/hydration",{"title":299,"path":300,"stem":301,"titleTemplate":6},"Nuxt Performance","/docs/3.x/guide/best-practices/performance","docs/3.x/3.guide/2.best-practices/performance",{"title":303,"path":304,"stem":305,"titleTemplate":6},"Nuxt Plugins","/docs/3.x/guide/best-practices/plugins","docs/3.x/3.guide/2.best-practices/plugins",{"title":307,"titleTemplate":308,"icon":309,"path":310,"stem":311,"children":312,"page":108},"Working with AI","Working with AI: %s","i-lucide-bot","/docs/3.x/guide/ai","docs/3.x/3.guide/3.ai",[313,317],{"title":314,"path":315,"stem":316,"titleTemplate":6},"MCP Server","/docs/3.x/guide/ai/mcp","docs/3.x/3.guide/3.ai/1.mcp",{"title":318,"path":319,"stem":320,"titleTemplate":6},"LLMs.txt","/docs/3.x/guide/ai/llms-txt","docs/3.x/3.guide/3.ai/2.llms-txt",{"title":322,"titleTemplate":323,"icon":324,"path":325,"stem":326,"children":327,"page":108},"Module Author Guide","%s · Nuxt Modules Author Guide","i-lucide-box","/docs/3.x/guide/modules","docs/3.x/3.guide/4.modules",[328,332,336,340,344,348,352],{"title":329,"path":330,"stem":331,"titleTemplate":6},"Create Your First Module","/docs/3.x/guide/modules/getting-started","docs/3.x/3.guide/4.modules/1.getting-started",{"title":333,"path":334,"stem":335,"titleTemplate":6},"Understand Module Structure","/docs/3.x/guide/modules/module-anatomy","docs/3.x/3.guide/4.modules/2.module-anatomy",{"title":337,"path":338,"stem":339,"titleTemplate":6},"Add Plugins, Components & More","/docs/3.x/guide/modules/recipes-basics","docs/3.x/3.guide/4.modules/3.recipes-basics",{"title":341,"path":342,"stem":343,"titleTemplate":6},"Use Hooks & Extend Types","/docs/3.x/guide/modules/recipes-advanced","docs/3.x/3.guide/4.modules/4.recipes-advanced",{"title":345,"path":346,"stem":347,"titleTemplate":6},"Test Your Module","/docs/3.x/guide/modules/testing","docs/3.x/3.guide/4.modules/5.testing",{"title":349,"path":350,"stem":351,"titleTemplate":6},"Follow Best Practices","/docs/3.x/guide/modules/best-practices","docs/3.x/3.guide/4.modules/6.best-practices",{"title":353,"path":354,"stem":355,"titleTemplate":6},"Publish & Share Your Module","/docs/3.x/guide/modules/ecosystem","docs/3.x/3.guide/4.modules/7.ecosystem",{"title":357,"titleTemplate":358,"icon":359,"path":360,"stem":361,"children":362,"page":108},"Recipes","%s · Recipes","i-lucide-cooking-pot","/docs/3.x/guide/recipes","docs/3.x/3.guide/5.recipes",[363,367,371,375],{"title":364,"path":365,"stem":366,"titleTemplate":6},"Custom Routing","/docs/3.x/guide/recipes/custom-routing","docs/3.x/3.guide/5.recipes/1.custom-routing",{"title":368,"path":369,"stem":370,"titleTemplate":6},"Vite Plugins","/docs/3.x/guide/recipes/vite-plugin","docs/3.x/3.guide/5.recipes/2.vite-plugin",{"title":372,"path":373,"stem":374,"titleTemplate":6},"Custom useFetch","/docs/3.x/guide/recipes/custom-usefetch","docs/3.x/3.guide/5.recipes/3.custom-usefetch",{"title":376,"path":377,"stem":378,"titleTemplate":6},"Sessions and Authentication","/docs/3.x/guide/recipes/sessions-and-authentication","docs/3.x/3.guide/5.recipes/4.sessions-and-authentication",{"title":380,"titleTemplate":381,"icon":382,"path":383,"stem":384,"children":385,"page":108},"Going Further","%s · Nuxt Advanced","i-lucide-star","/docs/3.x/guide/going-further","docs/3.x/3.guide/6.going-further",[386,390,394,398,402,406,410,414,418,422],{"title":387,"path":388,"stem":389,"titleTemplate":6},"Custom Events","/docs/3.x/guide/going-further/events","docs/3.x/3.guide/6.going-further/1.events",{"title":391,"path":392,"stem":393,"titleTemplate":6},"Experimental Features","/docs/3.x/guide/going-further/experimental-features","docs/3.x/3.guide/6.going-further/1.experimental-features",{"title":395,"path":396,"stem":397,"titleTemplate":6},"Features","/docs/3.x/guide/going-further/features","docs/3.x/3.guide/6.going-further/1.features",{"title":399,"path":400,"stem":401,"titleTemplate":6},"Runtime Config","/docs/3.x/guide/going-further/runtime-config","docs/3.x/3.guide/6.going-further/10.runtime-config",{"title":403,"path":404,"stem":405,"titleTemplate":6},"Nightly Release Channel","/docs/3.x/guide/going-further/nightly-release-channel","docs/3.x/3.guide/6.going-further/11.nightly-release-channel",{"title":407,"path":408,"stem":409,"titleTemplate":6},"Lifecycle Hooks","/docs/3.x/guide/going-further/hooks","docs/3.x/3.guide/6.going-further/2.hooks",{"title":411,"path":412,"stem":413,"titleTemplate":6},"Nuxt Kit","/docs/3.x/guide/going-further/kit","docs/3.x/3.guide/6.going-further/4.kit",{"title":415,"path":416,"stem":417,"titleTemplate":6},"NuxtApp","/docs/3.x/guide/going-further/nuxt-app","docs/3.x/3.guide/6.going-further/6.nuxt-app",{"title":419,"path":420,"stem":421,"titleTemplate":6},"Authoring Nuxt Layers","/docs/3.x/guide/going-further/layers","docs/3.x/3.guide/6.going-further/7.layers",{"title":423,"path":424,"stem":425,"titleTemplate":6},"Debugging","/docs/3.x/guide/going-further/debugging","docs/3.x/3.guide/6.going-further/9.debugging",{"title":427,"titleTemplate":428,"icon":429,"path":430,"stem":431,"children":432,"page":108},"API","%s · Nuxt API","i-lucide-code-xml","/docs/3.x/api","docs/3.x/4.api",[433,499,622,745,816,889,902],{"title":434,"titleTemplate":435,"icon":324,"path":436,"stem":437,"children":438,"page":108},"Components","%s · Nuxt Components","/docs/3.x/api/components","docs/3.x/4.api/1.components",[439,443,447,451,455,459,463,467,471,475,479,483,487,491,495],{"title":440,"path":441,"stem":442,"titleTemplate":6},"\u003CClientOnly>","/docs/3.x/api/components/client-only","docs/3.x/4.api/1.components/1.client-only",{"title":444,"path":445,"stem":446,"titleTemplate":6},"\u003CDevOnly>","/docs/3.x/api/components/dev-only","docs/3.x/4.api/1.components/1.dev-only",{"title":448,"path":449,"stem":450,"titleTemplate":6},"\u003CNuxtClientFallback>","/docs/3.x/api/components/nuxt-client-fallback","docs/3.x/4.api/1.components/1.nuxt-client-fallback",{"title":452,"path":453,"stem":454,"titleTemplate":6},"\u003CNuxtPicture>","/docs/3.x/api/components/nuxt-picture","docs/3.x/4.api/1.components/10.nuxt-picture",{"title":456,"path":457,"stem":458,"titleTemplate":6},"\u003CTeleport>","/docs/3.x/api/components/teleports","docs/3.x/4.api/1.components/11.teleports",{"title":460,"path":461,"stem":462,"titleTemplate":6},"\u003CNuxtRouteAnnouncer>","/docs/3.x/api/components/nuxt-route-announcer","docs/3.x/4.api/1.components/12.nuxt-route-announcer",{"title":464,"path":465,"stem":466,"titleTemplate":6},"\u003CNuxtTime>","/docs/3.x/api/components/nuxt-time","docs/3.x/4.api/1.components/13.nuxt-time",{"title":468,"path":469,"stem":470,"titleTemplate":6},"\u003CNuxtPage>","/docs/3.x/api/components/nuxt-page","docs/3.x/4.api/1.components/2.nuxt-page",{"title":472,"path":473,"stem":474,"titleTemplate":6},"\u003CNuxtLayout>","/docs/3.x/api/components/nuxt-layout","docs/3.x/4.api/1.components/3.nuxt-layout",{"title":476,"path":477,"stem":478,"titleTemplate":6},"\u003CNuxtLink>","/docs/3.x/api/components/nuxt-link","docs/3.x/4.api/1.components/4.nuxt-link",{"title":480,"path":481,"stem":482,"titleTemplate":6},"\u003CNuxtLoadingIndicator>","/docs/3.x/api/components/nuxt-loading-indicator","docs/3.x/4.api/1.components/5.nuxt-loading-indicator",{"title":484,"path":485,"stem":486,"titleTemplate":6},"\u003CNuxtErrorBoundary>","/docs/3.x/api/components/nuxt-error-boundary","docs/3.x/4.api/1.components/6.nuxt-error-boundary",{"title":488,"path":489,"stem":490,"titleTemplate":6},"\u003CNuxtWelcome>","/docs/3.x/api/components/nuxt-welcome","docs/3.x/4.api/1.components/7.nuxt-welcome",{"title":492,"path":493,"stem":494,"titleTemplate":6},"\u003CNuxtIsland>","/docs/3.x/api/components/nuxt-island","docs/3.x/4.api/1.components/8.nuxt-island",{"title":496,"path":497,"stem":498,"titleTemplate":6},"\u003CNuxtImg>","/docs/3.x/api/components/nuxt-img","docs/3.x/4.api/1.components/9.nuxt-img",{"title":500,"titleTemplate":501,"icon":502,"path":503,"stem":504,"children":505,"page":108},"Composables","%s · Nuxt Composables","i-lucide-arrow-left-right","/docs/3.x/api/composables","docs/3.x/4.api/2.composables",[506,510,514,518,522,526,530,534,538,542,546,550,554,558,562,566,570,574,578,582,586,590,594,598,602,606,610,614,618],{"title":507,"path":508,"stem":509,"titleTemplate":6},"onPrehydrate","/docs/3.x/api/composables/on-prehydrate","docs/3.x/4.api/2.composables/on-prehydrate",{"title":511,"path":512,"stem":513,"titleTemplate":6},"useAppConfig","/docs/3.x/api/composables/use-app-config","docs/3.x/4.api/2.composables/use-app-config",{"title":515,"path":516,"stem":517,"titleTemplate":6},"useAsyncData","/docs/3.x/api/composables/use-async-data","docs/3.x/4.api/2.composables/use-async-data",{"title":519,"path":520,"stem":521,"titleTemplate":6},"useCookie","/docs/3.x/api/composables/use-cookie","docs/3.x/4.api/2.composables/use-cookie",{"title":523,"path":524,"stem":525,"titleTemplate":6},"useError","/docs/3.x/api/composables/use-error","docs/3.x/4.api/2.composables/use-error",{"title":527,"path":528,"stem":529,"titleTemplate":6},"useFetch","/docs/3.x/api/composables/use-fetch","docs/3.x/4.api/2.composables/use-fetch",{"title":531,"path":532,"stem":533,"titleTemplate":6},"useHead","/docs/3.x/api/composables/use-head","docs/3.x/4.api/2.composables/use-head",{"title":535,"path":536,"stem":537,"titleTemplate":6},"useHeadSafe","/docs/3.x/api/composables/use-head-safe","docs/3.x/4.api/2.composables/use-head-safe",{"title":539,"path":540,"stem":541,"titleTemplate":6},"useHydration","/docs/3.x/api/composables/use-hydration","docs/3.x/4.api/2.composables/use-hydration",{"title":543,"path":544,"stem":545,"titleTemplate":6},"useLazyAsyncData","/docs/3.x/api/composables/use-lazy-async-data","docs/3.x/4.api/2.composables/use-lazy-async-data",{"title":547,"path":548,"stem":549,"titleTemplate":6},"useLazyFetch","/docs/3.x/api/composables/use-lazy-fetch","docs/3.x/4.api/2.composables/use-lazy-fetch",{"title":551,"path":552,"stem":553,"titleTemplate":6},"useLoadingIndicator","/docs/3.x/api/composables/use-loading-indicator","docs/3.x/4.api/2.composables/use-loading-indicator",{"title":555,"path":556,"stem":557,"titleTemplate":6},"useNuxtApp","/docs/3.x/api/composables/use-nuxt-app","docs/3.x/4.api/2.composables/use-nuxt-app",{"title":559,"path":560,"stem":561,"titleTemplate":6},"useNuxtData","/docs/3.x/api/composables/use-nuxt-data","docs/3.x/4.api/2.composables/use-nuxt-data",{"title":563,"path":564,"stem":565,"titleTemplate":6},"usePreviewMode","/docs/3.x/api/composables/use-preview-mode","docs/3.x/4.api/2.composables/use-preview-mode",{"title":567,"path":568,"stem":569,"titleTemplate":6},"useRequestEvent","/docs/3.x/api/composables/use-request-event","docs/3.x/4.api/2.composables/use-request-event",{"title":571,"path":572,"stem":573,"titleTemplate":6},"useRequestFetch","/docs/3.x/api/composables/use-request-fetch","docs/3.x/4.api/2.composables/use-request-fetch",{"title":575,"path":576,"stem":577,"titleTemplate":6},"useRequestHeader","/docs/3.x/api/composables/use-request-header","docs/3.x/4.api/2.composables/use-request-header",{"title":579,"path":580,"stem":581,"titleTemplate":6},"useRequestHeaders","/docs/3.x/api/composables/use-request-headers","docs/3.x/4.api/2.composables/use-request-headers",{"title":583,"path":584,"stem":585,"titleTemplate":6},"useRequestURL","/docs/3.x/api/composables/use-request-url","docs/3.x/4.api/2.composables/use-request-url",{"title":587,"path":588,"stem":589,"titleTemplate":6},"useResponseHeader","/docs/3.x/api/composables/use-response-header","docs/3.x/4.api/2.composables/use-response-header",{"title":591,"path":592,"stem":593,"titleTemplate":6},"useRoute","/docs/3.x/api/composables/use-route","docs/3.x/4.api/2.composables/use-route",{"title":595,"path":596,"stem":597,"titleTemplate":6},"useRouteAnnouncer","/docs/3.x/api/composables/use-route-announcer","docs/3.x/4.api/2.composables/use-route-announcer",{"title":599,"path":600,"stem":601,"titleTemplate":6},"useRouter","/docs/3.x/api/composables/use-router","docs/3.x/4.api/2.composables/use-router",{"title":603,"path":604,"stem":605,"titleTemplate":6},"useRuntimeConfig","/docs/3.x/api/composables/use-runtime-config","docs/3.x/4.api/2.composables/use-runtime-config",{"title":607,"path":608,"stem":609,"titleTemplate":6},"useRuntimeHook","/docs/3.x/api/composables/use-runtime-hook","docs/3.x/4.api/2.composables/use-runtime-hook",{"title":611,"path":612,"stem":613,"titleTemplate":6},"useSeoMeta","/docs/3.x/api/composables/use-seo-meta","docs/3.x/4.api/2.composables/use-seo-meta",{"title":615,"path":616,"stem":617,"titleTemplate":6},"useServerSeoMeta","/docs/3.x/api/composables/use-server-seo-meta","docs/3.x/4.api/2.composables/use-server-seo-meta",{"title":619,"path":620,"stem":621,"titleTemplate":6},"useState","/docs/3.x/api/composables/use-state","docs/3.x/4.api/2.composables/use-state",{"title":623,"titleTemplate":624,"icon":625,"path":626,"stem":627,"children":628,"page":108},"Utils","%s · Nuxt Utils","i-lucide-square-function","/docs/3.x/api/utils","docs/3.x/4.api/3.utils",[629,633,637,641,645,649,653,657,661,665,669,673,677,681,685,689,693,697,701,705,709,713,717,721,725,729,733,737,741],{"title":630,"path":631,"stem":632,"titleTemplate":6},"$fetch","/docs/3.x/api/utils/dollarfetch","docs/3.x/4.api/3.utils/$fetch",{"title":634,"path":635,"stem":636,"titleTemplate":6},"abortNavigation","/docs/3.x/api/utils/abort-navigation","docs/3.x/4.api/3.utils/abort-navigation",{"title":638,"path":639,"stem":640,"titleTemplate":6},"addRouteMiddleware","/docs/3.x/api/utils/add-route-middleware","docs/3.x/4.api/3.utils/add-route-middleware",{"title":642,"path":643,"stem":644,"titleTemplate":6},"callOnce","/docs/3.x/api/utils/call-once","docs/3.x/4.api/3.utils/call-once",{"title":646,"path":647,"stem":648,"titleTemplate":6},"clearError","/docs/3.x/api/utils/clear-error","docs/3.x/4.api/3.utils/clear-error",{"title":650,"path":651,"stem":652,"titleTemplate":6},"clearNuxtData","/docs/3.x/api/utils/clear-nuxt-data","docs/3.x/4.api/3.utils/clear-nuxt-data",{"title":654,"path":655,"stem":656,"titleTemplate":6},"clearNuxtState","/docs/3.x/api/utils/clear-nuxt-state","docs/3.x/4.api/3.utils/clear-nuxt-state",{"title":658,"path":659,"stem":660,"titleTemplate":6},"createError","/docs/3.x/api/utils/create-error","docs/3.x/4.api/3.utils/create-error",{"title":662,"path":663,"stem":664,"titleTemplate":6},"defineLazyHydrationComponent","/docs/3.x/api/utils/define-lazy-hydration-component","docs/3.x/4.api/3.utils/define-lazy-hydration-component",{"title":666,"path":667,"stem":668,"titleTemplate":6},"defineNuxtComponent","/docs/3.x/api/utils/define-nuxt-component","docs/3.x/4.api/3.utils/define-nuxt-component",{"title":670,"path":671,"stem":672,"titleTemplate":6},"defineNuxtPlugin","/docs/3.x/api/utils/define-nuxt-plugin","docs/3.x/4.api/3.utils/define-nuxt-plugin",{"title":674,"path":675,"stem":676,"titleTemplate":6},"defineNuxtRouteMiddleware","/docs/3.x/api/utils/define-nuxt-route-middleware","docs/3.x/4.api/3.utils/define-nuxt-route-middleware",{"title":678,"path":679,"stem":680,"titleTemplate":6},"definePageMeta","/docs/3.x/api/utils/define-page-meta","docs/3.x/4.api/3.utils/define-page-meta",{"title":682,"path":683,"stem":684,"titleTemplate":6},"defineRouteRules","/docs/3.x/api/utils/define-route-rules","docs/3.x/4.api/3.utils/define-route-rules",{"title":686,"path":687,"stem":688,"titleTemplate":6},"navigateTo","/docs/3.x/api/utils/navigate-to","docs/3.x/4.api/3.utils/navigate-to",{"title":690,"path":691,"stem":692,"titleTemplate":6},"onBeforeRouteLeave","/docs/3.x/api/utils/on-before-route-leave","docs/3.x/4.api/3.utils/on-before-route-leave",{"title":694,"path":695,"stem":696,"titleTemplate":6},"onBeforeRouteUpdate","/docs/3.x/api/utils/on-before-route-update","docs/3.x/4.api/3.utils/on-before-route-update",{"title":698,"path":699,"stem":700,"titleTemplate":6},"onNuxtReady","/docs/3.x/api/utils/on-nuxt-ready","docs/3.x/4.api/3.utils/on-nuxt-ready",{"title":702,"path":703,"stem":704,"titleTemplate":6},"prefetchComponents","/docs/3.x/api/utils/prefetch-components","docs/3.x/4.api/3.utils/prefetch-components",{"title":706,"path":707,"stem":708,"titleTemplate":6},"preloadComponents","/docs/3.x/api/utils/preload-components","docs/3.x/4.api/3.utils/preload-components",{"title":710,"path":711,"stem":712,"titleTemplate":6},"preloadRouteComponents","/docs/3.x/api/utils/preload-route-components","docs/3.x/4.api/3.utils/preload-route-components",{"title":714,"path":715,"stem":716,"titleTemplate":6},"prerenderRoutes","/docs/3.x/api/utils/prerender-routes","docs/3.x/4.api/3.utils/prerender-routes",{"title":718,"path":719,"stem":720,"titleTemplate":6},"refreshCookie","/docs/3.x/api/utils/refresh-cookie","docs/3.x/4.api/3.utils/refresh-cookie",{"title":722,"path":723,"stem":724,"titleTemplate":6},"refreshNuxtData","/docs/3.x/api/utils/refresh-nuxt-data","docs/3.x/4.api/3.utils/refresh-nuxt-data",{"title":726,"path":727,"stem":728,"titleTemplate":6},"reloadNuxtApp","/docs/3.x/api/utils/reload-nuxt-app","docs/3.x/4.api/3.utils/reload-nuxt-app",{"title":730,"path":731,"stem":732,"titleTemplate":6},"setPageLayout","/docs/3.x/api/utils/set-page-layout","docs/3.x/4.api/3.utils/set-page-layout",{"title":734,"path":735,"stem":736,"titleTemplate":6},"setResponseStatus","/docs/3.x/api/utils/set-response-status","docs/3.x/4.api/3.utils/set-response-status",{"title":738,"path":739,"stem":740,"titleTemplate":6},"showError","/docs/3.x/api/utils/show-error","docs/3.x/4.api/3.utils/show-error",{"title":742,"path":743,"stem":744,"titleTemplate":6},"updateAppConfig","/docs/3.x/api/utils/update-app-config","docs/3.x/4.api/3.utils/update-app-config",{"title":746,"titleTemplate":747,"icon":748,"path":749,"stem":750,"children":751,"page":108},"Commands","%s · Nuxt Commands","i-lucide-square-terminal","/docs/3.x/api/commands","docs/3.x/4.api/4.commands",[752,756,760,764,768,772,776,780,784,788,792,796,800,804,808,812],{"title":753,"path":754,"stem":755,"titleTemplate":6},"nuxt add","/docs/3.x/api/commands/add","docs/3.x/4.api/4.commands/add",{"title":757,"path":758,"stem":759,"titleTemplate":6},"nuxt analyze","/docs/3.x/api/commands/analyze","docs/3.x/4.api/4.commands/analyze",{"title":761,"path":762,"stem":763,"titleTemplate":6},"nuxt build","/docs/3.x/api/commands/build","docs/3.x/4.api/4.commands/build",{"title":765,"path":766,"stem":767,"titleTemplate":6},"nuxt build-module","/docs/3.x/api/commands/build-module","docs/3.x/4.api/4.commands/build-module",{"title":769,"path":770,"stem":771,"titleTemplate":6},"nuxt cleanup","/docs/3.x/api/commands/cleanup","docs/3.x/4.api/4.commands/cleanup",{"title":773,"path":774,"stem":775,"titleTemplate":6},"nuxt dev","/docs/3.x/api/commands/dev","docs/3.x/4.api/4.commands/dev",{"title":777,"path":778,"stem":779,"titleTemplate":6},"nuxt devtools","/docs/3.x/api/commands/devtools","docs/3.x/4.api/4.commands/devtools",{"title":781,"path":782,"stem":783,"titleTemplate":6},"nuxt generate","/docs/3.x/api/commands/generate","docs/3.x/4.api/4.commands/generate",{"title":785,"path":786,"stem":787,"titleTemplate":6},"nuxt info","/docs/3.x/api/commands/info","docs/3.x/4.api/4.commands/info",{"title":789,"path":790,"stem":791,"titleTemplate":6},"create nuxt","/docs/3.x/api/commands/init","docs/3.x/4.api/4.commands/init",{"title":793,"path":794,"stem":795,"titleTemplate":6},"nuxt module","/docs/3.x/api/commands/module","docs/3.x/4.api/4.commands/module",{"title":797,"path":798,"stem":799,"titleTemplate":6},"nuxt prepare","/docs/3.x/api/commands/prepare","docs/3.x/4.api/4.commands/prepare",{"title":801,"path":802,"stem":803,"titleTemplate":6},"nuxt preview","/docs/3.x/api/commands/preview","docs/3.x/4.api/4.commands/preview",{"title":805,"path":806,"stem":807,"titleTemplate":6},"nuxt test","/docs/3.x/api/commands/test","docs/3.x/4.api/4.commands/test",{"title":809,"path":810,"stem":811,"titleTemplate":6},"nuxt typecheck","/docs/3.x/api/commands/typecheck","docs/3.x/4.api/4.commands/typecheck",{"title":813,"path":814,"stem":815,"titleTemplate":6},"nuxt upgrade","/docs/3.x/api/commands/upgrade","docs/3.x/4.api/4.commands/upgrade",{"title":411,"titleTemplate":817,"icon":818,"path":819,"stem":820,"children":821,"page":108},"%s · Nuxt Kit","i-lucide-package","/docs/3.x/api/kit","docs/3.x/4.api/5.kit",[822,825,828,832,836,840,844,848,852,855,859,863,866,869,873,877,881,885],{"title":276,"path":823,"stem":824,"titleTemplate":6},"/docs/3.x/api/kit/modules","docs/3.x/4.api/5.kit/1.modules",{"title":399,"path":826,"stem":827,"titleTemplate":6},"/docs/3.x/api/kit/runtime-config","docs/3.x/4.api/5.kit/10.runtime-config",{"title":829,"path":830,"stem":831,"titleTemplate":6},"Templates","/docs/3.x/api/kit/templates","docs/3.x/4.api/5.kit/10.templates",{"title":833,"path":834,"stem":835,"titleTemplate":6},"Nitro","/docs/3.x/api/kit/nitro","docs/3.x/4.api/5.kit/11.nitro",{"title":837,"path":838,"stem":839,"titleTemplate":6},"Resolving","/docs/3.x/api/kit/resolving","docs/3.x/4.api/5.kit/12.resolving",{"title":841,"path":842,"stem":843,"titleTemplate":6},"Logging","/docs/3.x/api/kit/logging","docs/3.x/4.api/5.kit/13.logging",{"title":845,"path":846,"stem":847,"titleTemplate":6},"Builder","/docs/3.x/api/kit/builder","docs/3.x/4.api/5.kit/14.builder",{"title":849,"path":850,"stem":851,"titleTemplate":6},"Examples","/docs/3.x/api/kit/examples","docs/3.x/4.api/5.kit/15.examples",{"title":84,"path":853,"stem":854,"titleTemplate":6},"/docs/3.x/api/kit/layers","docs/3.x/4.api/5.kit/16.layers",{"title":856,"path":857,"stem":858,"titleTemplate":6},"Programmatic Usage","/docs/3.x/api/kit/programmatic","docs/3.x/4.api/5.kit/2.programmatic",{"title":860,"path":861,"stem":862,"titleTemplate":6},"Compatibility","/docs/3.x/api/kit/compatibility","docs/3.x/4.api/5.kit/3.compatibility",{"title":268,"path":864,"stem":865,"titleTemplate":6},"/docs/3.x/api/kit/autoimports","docs/3.x/4.api/5.kit/4.autoimports",{"title":434,"path":867,"stem":868,"titleTemplate":6},"/docs/3.x/api/kit/components","docs/3.x/4.api/5.kit/5.components",{"title":870,"path":871,"stem":872,"titleTemplate":6},"Context","/docs/3.x/api/kit/context","docs/3.x/4.api/5.kit/6.context",{"title":874,"path":875,"stem":876,"titleTemplate":6},"Pages","/docs/3.x/api/kit/pages","docs/3.x/4.api/5.kit/7.pages",{"title":878,"path":879,"stem":880,"titleTemplate":6},"Layout","/docs/3.x/api/kit/layout","docs/3.x/4.api/5.kit/8.layout",{"title":882,"path":883,"stem":884,"titleTemplate":6},"Head","/docs/3.x/api/kit/head","docs/3.x/4.api/5.kit/9.head",{"title":886,"path":887,"stem":888,"titleTemplate":6},"Plugins","/docs/3.x/api/kit/plugins","docs/3.x/4.api/5.kit/9.plugins",{"title":890,"titleTemplate":6,"icon":891,"path":892,"stem":893,"children":894,"page":108},"Advanced","i-lucide-brain","/docs/3.x/api/advanced","docs/3.x/4.api/6.advanced",[895,898],{"title":407,"path":896,"stem":897,"titleTemplate":6},"/docs/3.x/api/advanced/hooks","docs/3.x/4.api/6.advanced/1.hooks",{"title":899,"path":900,"stem":901,"titleTemplate":6},"Import meta","/docs/3.x/api/advanced/import-meta","docs/3.x/4.api/6.advanced/2.import-meta",{"title":903,"path":904,"stem":905,"titleTemplate":906,"icon":32},"Nuxt Configuration","/docs/3.x/api/nuxt-config","docs/3.x/4.api/6.nuxt-config","%s",{"title":849,"titleTemplate":908,"icon":909,"path":910,"stem":911,"children":912,"page":108},"%s · Nuxt Examples","i-lucide-app-window-mac","/docs/3.x/examples","docs/3.x/4.examples",[913,917,939,954,990],{"title":914,"path":915,"stem":916,"titleTemplate":6},"Hello World","/docs/3.x/examples/hello-world","docs/3.x/4.examples/0.hello-world",{"title":395,"path":918,"stem":919,"children":920,"page":108},"/docs/3.x/examples/features","docs/3.x/4.examples/1.features",[921,925,928,931,935],{"title":922,"path":923,"stem":924,"titleTemplate":6},"Auto Imports","/docs/3.x/examples/features/auto-imports","docs/3.x/4.examples/1.features/1.auto-imports",{"title":64,"path":926,"stem":927,"titleTemplate":6},"/docs/3.x/examples/features/data-fetching","docs/3.x/4.examples/1.features/2.data-fetching",{"title":69,"path":929,"stem":930,"titleTemplate":6},"/docs/3.x/examples/features/state-management","docs/3.x/4.examples/1.features/3.state-management",{"title":932,"path":933,"stem":934,"titleTemplate":6},"Meta Tags","/docs/3.x/examples/features/meta-tags","docs/3.x/4.examples/1.features/4.meta-tags",{"title":936,"path":937,"stem":938,"titleTemplate":6},"Layouts","/docs/3.x/examples/features/layouts","docs/3.x/4.examples/1.features/5.layouts",{"title":49,"path":940,"stem":941,"children":942,"page":108},"/docs/3.x/examples/routing","docs/3.x/4.examples/2.routing",[943,947,950],{"title":944,"path":945,"stem":946,"titleTemplate":6},"Middleware","/docs/3.x/examples/routing/middleware","docs/3.x/4.examples/2.routing/middleware",{"title":874,"path":948,"stem":949,"titleTemplate":6},"/docs/3.x/examples/routing/pages","docs/3.x/4.examples/2.routing/pages",{"title":951,"path":952,"stem":953,"titleTemplate":6},"Universal Router","/docs/3.x/examples/routing/universal-router","docs/3.x/4.examples/2.routing/universal-router",{"title":890,"path":955,"stem":956,"children":957,"page":108},"/docs/3.x/examples/advanced","docs/3.x/4.examples/4.advanced",[958,961,964,968,972,976,980,983,986],{"title":84,"path":959,"stem":960,"titleTemplate":6},"/docs/3.x/examples/advanced/config-extends","docs/3.x/4.examples/4.advanced/config-extends",{"title":74,"path":962,"stem":963,"titleTemplate":6},"/docs/3.x/examples/advanced/error-handling","docs/3.x/4.examples/4.advanced/error-handling",{"title":965,"path":966,"stem":967,"titleTemplate":6},"JSX / TSX","/docs/3.x/examples/advanced/jsx","docs/3.x/4.examples/4.advanced/jsx",{"title":969,"path":970,"stem":971,"titleTemplate":6},"Locale","/docs/3.x/examples/advanced/locale","docs/3.x/4.examples/4.advanced/locale",{"title":973,"path":974,"stem":975,"titleTemplate":6},"Module Extend Pages","/docs/3.x/examples/advanced/module-extend-pages","docs/3.x/4.examples/4.advanced/module-extend-pages",{"title":977,"path":978,"stem":979,"titleTemplate":6},"Teleport","/docs/3.x/examples/advanced/teleport","docs/3.x/4.examples/4.advanced/teleport",{"title":99,"path":981,"stem":982,"titleTemplate":6},"/docs/3.x/examples/advanced/testing","docs/3.x/4.examples/4.advanced/testing",{"title":519,"path":984,"stem":985,"titleTemplate":6},"/docs/3.x/examples/advanced/use-cookie","docs/3.x/4.examples/4.advanced/use-cookie",{"title":987,"path":988,"stem":989,"titleTemplate":6},"Use Custom Fetch Composable","/docs/3.x/examples/advanced/use-custom-fetch-composable","docs/3.x/4.examples/4.advanced/use-custom-fetch-composable",{"title":991,"path":992,"stem":993,"children":994,"page":108},"Experimental","/docs/3.x/examples/experimental","docs/3.x/4.examples/7.experimental",[995],{"title":996,"path":997,"stem":998,"titleTemplate":6},"WASM","/docs/3.x/examples/experimental/wasm","docs/3.x/4.examples/7.experimental/wasm",{"title":1000,"titleTemplate":1001,"icon":1002,"path":1003,"stem":1004,"children":1005,"page":108},"Community","%s · Nuxt Community","i-lucide-messages-square","/docs/3.x/community","docs/3.x/5.community",[1006,1011,1016,1021,1026,1031],{"title":1007,"path":1008,"stem":1009,"titleTemplate":6,"icon":1010},"Getting Help","/docs/3.x/community/getting-help","docs/3.x/5.community/2.getting-help","i-lucide-life-buoy",{"title":1012,"path":1013,"stem":1014,"titleTemplate":6,"icon":1015},"Reporting Bugs","/docs/3.x/community/reporting-bugs","docs/3.x/5.community/3.reporting-bugs","i-lucide-bug",{"title":1017,"path":1018,"stem":1019,"titleTemplate":6,"icon":1020},"Contribution","/docs/3.x/community/contribution","docs/3.x/5.community/4.contribution","i-lucide-git-pull-request",{"title":1022,"path":1023,"stem":1024,"titleTemplate":6,"icon":1025},"Framework","/docs/3.x/community/framework-contribution","docs/3.x/5.community/5.framework-contribution","i-lucide-github",{"title":1027,"path":1028,"stem":1029,"titleTemplate":6,"icon":1030},"Roadmap","/docs/3.x/community/roadmap","docs/3.x/5.community/6.roadmap","i-lucide-map",{"title":1032,"path":1033,"stem":1034,"titleTemplate":6,"icon":1035},"Releases","/docs/3.x/community/changelog","docs/3.x/5.community/7.changelog","i-lucide-bell-dot",{"title":1037,"titleTemplate":1038,"icon":1039,"path":1040,"stem":1041,"children":1042,"page":108},"Migrate to Nuxt Bridge","Migrate to Nuxt Bridge: %s","i-lucide-ship","/docs/3.x/bridge","docs/3.x/6.bridge",[1043,1047,1050,1053,1057,1061,1065,1068,1071,1074],{"title":1044,"path":1045,"stem":1046,"titleTemplate":6},"Overview","/docs/3.x/bridge/overview","docs/3.x/6.bridge/1.overview",{"title":29,"path":1048,"stem":1049,"titleTemplate":6},"/docs/3.x/bridge/configuration","docs/3.x/6.bridge/10.configuration",{"title":280,"path":1051,"stem":1052,"titleTemplate":6},"/docs/3.x/bridge/typescript","docs/3.x/6.bridge/2.typescript",{"title":1054,"path":1055,"stem":1056,"titleTemplate":6},"Legacy Composition API","/docs/3.x/bridge/bridge-composition-api","docs/3.x/6.bridge/3.bridge-composition-api",{"title":1058,"path":1059,"stem":1060,"titleTemplate":6},"Plugins and Middleware","/docs/3.x/bridge/plugins-and-middleware","docs/3.x/6.bridge/4.plugins-and-middleware",{"title":1062,"path":1063,"stem":1064,"titleTemplate":6},"New Composition API","/docs/3.x/bridge/nuxt3-compatible-api","docs/3.x/6.bridge/5.nuxt3-compatible-api",{"title":932,"path":1066,"stem":1067,"titleTemplate":6},"/docs/3.x/bridge/meta","docs/3.x/6.bridge/6.meta",{"title":399,"path":1069,"stem":1070,"titleTemplate":6},"/docs/3.x/bridge/runtime-config","docs/3.x/6.bridge/7.runtime-config",{"title":833,"path":1072,"stem":1073,"titleTemplate":6},"/docs/3.x/bridge/nitro","docs/3.x/6.bridge/8.nitro",{"title":1075,"path":1076,"stem":1077,"titleTemplate":6},"Vite","/docs/3.x/bridge/vite","docs/3.x/6.bridge/9.vite",{"title":1079,"titleTemplate":1080,"icon":107,"path":1081,"stem":1082,"children":1083,"page":108},"Migrate to Nuxt 3","Migrate to Nuxt 3: %s","/docs/3.x/migration","docs/3.x/7.migration",[1084,1087,1091,1094,1097,1100,1103,1106,1109,1113,1117],{"title":1044,"path":1085,"stem":1086,"titleTemplate":6},"/docs/3.x/migration/overview","docs/3.x/7.migration/1.overview",{"title":1088,"path":1089,"stem":1090,"titleTemplate":6},"Build Tooling","/docs/3.x/migration/bundling","docs/3.x/7.migration/10.bundling",{"title":79,"path":1092,"stem":1093,"titleTemplate":6},"/docs/3.x/migration/server","docs/3.x/7.migration/11.server",{"title":29,"path":1095,"stem":1096,"titleTemplate":6},"/docs/3.x/migration/configuration","docs/3.x/7.migration/2.configuration",{"title":276,"path":1098,"stem":1099,"titleTemplate":6},"/docs/3.x/migration/module-authors","docs/3.x/7.migration/20.module-authors",{"title":922,"path":1101,"stem":1102,"titleTemplate":6},"/docs/3.x/migration/auto-imports","docs/3.x/7.migration/3.auto-imports",{"title":932,"path":1104,"stem":1105,"titleTemplate":6},"/docs/3.x/migration/meta","docs/3.x/7.migration/4.meta",{"title":1058,"path":1107,"stem":1108,"titleTemplate":6},"/docs/3.x/migration/plugins-and-middleware","docs/3.x/7.migration/5.plugins-and-middleware",{"title":1110,"path":1111,"stem":1112,"titleTemplate":6},"Pages and Layouts","/docs/3.x/migration/pages-and-layouts","docs/3.x/7.migration/6.pages-and-layouts",{"title":1114,"path":1115,"stem":1116,"titleTemplate":6},"Component Options","/docs/3.x/migration/component-options","docs/3.x/7.migration/7.component-options",{"title":399,"path":1118,"stem":1119,"titleTemplate":6},"/docs/3.x/migration/runtime-config","docs/3.x/7.migration/8.runtime-config",{"title":5,"titleTemplate":6,"icon":7,"path":1121,"stem":1122,"children":1123,"page":108},"/docs/4.x","docs/4.x",[1124,1182,1276,1403,1769,1846,1868,1902],{"title":12,"titleTemplate":13,"icon":14,"path":1125,"stem":1126,"children":1127,"page":108},"/docs/4.x/getting-started","docs/4.x/1.getting-started",[1128,1131,1134,1137,1140,1143,1146,1149,1152,1155,1158,1161,1164,1167,1170,1173,1176,1179],{"title":19,"path":1129,"stem":1130,"titleTemplate":6,"icon":22},"/docs/4.x/getting-started/introduction","docs/4.x/1.getting-started/01.introduction",{"title":24,"path":1132,"stem":1133,"titleTemplate":6,"icon":27},"/docs/4.x/getting-started/installation","docs/4.x/1.getting-started/02.installation",{"title":29,"path":1135,"stem":1136,"titleTemplate":6,"icon":32},"/docs/4.x/getting-started/configuration","docs/4.x/1.getting-started/03.configuration",{"title":34,"path":1138,"stem":1139,"titleTemplate":6,"icon":37},"/docs/4.x/getting-started/views","docs/4.x/1.getting-started/04.views",{"title":39,"path":1141,"stem":1142,"titleTemplate":6,"icon":42},"/docs/4.x/getting-started/assets","docs/4.x/1.getting-started/05.assets",{"title":44,"path":1144,"stem":1145,"titleTemplate":6,"icon":47},"/docs/4.x/getting-started/styling","docs/4.x/1.getting-started/06.styling",{"title":49,"path":1147,"stem":1148,"titleTemplate":6,"icon":52},"/docs/4.x/getting-started/routing","docs/4.x/1.getting-started/07.routing",{"title":54,"path":1150,"stem":1151,"titleTemplate":6,"icon":57},"/docs/4.x/getting-started/seo-meta","docs/4.x/1.getting-started/08.seo-meta",{"title":59,"path":1153,"stem":1154,"titleTemplate":6,"icon":62},"/docs/4.x/getting-started/transitions","docs/4.x/1.getting-started/09.transitions",{"title":64,"path":1156,"stem":1157,"titleTemplate":6,"icon":67},"/docs/4.x/getting-started/data-fetching","docs/4.x/1.getting-started/10.data-fetching",{"title":69,"path":1159,"stem":1160,"titleTemplate":6,"icon":72},"/docs/4.x/getting-started/state-management","docs/4.x/1.getting-started/11.state-management",{"title":74,"path":1162,"stem":1163,"titleTemplate":6,"icon":77},"/docs/4.x/getting-started/error-handling","docs/4.x/1.getting-started/12.error-handling",{"title":79,"path":1165,"stem":1166,"titleTemplate":6,"icon":82},"/docs/4.x/getting-started/server","docs/4.x/1.getting-started/13.server",{"title":84,"path":1168,"stem":1169,"titleTemplate":6,"icon":87},"/docs/4.x/getting-started/layers","docs/4.x/1.getting-started/14.layers",{"title":89,"path":1171,"stem":1172,"titleTemplate":6,"icon":92},"/docs/4.x/getting-started/prerendering","docs/4.x/1.getting-started/15.prerendering",{"title":94,"path":1174,"stem":1175,"titleTemplate":6,"icon":97},"/docs/4.x/getting-started/deployment","docs/4.x/1.getting-started/16.deployment",{"title":99,"path":1177,"stem":1178,"titleTemplate":6,"icon":102},"/docs/4.x/getting-started/testing","docs/4.x/1.getting-started/17.testing",{"title":104,"path":1180,"stem":1181,"titleTemplate":6,"icon":107},"/docs/4.x/getting-started/upgrade","docs/4.x/1.getting-started/18.upgrade",{"title":110,"titleTemplate":111,"icon":112,"path":1183,"stem":1184,"children":1185,"page":108},"/docs/4.x/directory-structure","docs/4.x/2.directory-structure",[1186,1189,1192,1234,1237,1240,1243,1246,1249,1252,1255,1258,1261,1264,1267,1270,1273],{"title":117,"path":1187,"stem":1188,"titleTemplate":6,"icon":120},"/docs/4.x/directory-structure/nuxt","docs/4.x/2.directory-structure/0.nuxt",{"title":122,"path":1190,"stem":1191,"titleTemplate":6,"icon":125},"/docs/4.x/directory-structure/output","docs/4.x/2.directory-structure/0.output",{"title":1193,"titleTemplate":111,"head":1194,"defaultOpen":1196,"icon":1197,"path":1198,"stem":1199,"children":1200,"page":108},"app",{"title":1195},"app/",true,"i-vscode-icons-folder-type-app","/docs/4.x/directory-structure/app","docs/4.x/2.directory-structure/1.app",[1201,1204,1207,1210,1213,1216,1219,1222,1225,1228,1231],{"title":127,"path":1202,"stem":1203,"titleTemplate":6,"icon":130},"/docs/4.x/directory-structure/app/assets","docs/4.x/2.directory-structure/1.app/1.assets",{"title":132,"path":1205,"stem":1206,"titleTemplate":6,"icon":135},"/docs/4.x/directory-structure/app/components","docs/4.x/2.directory-structure/1.app/1.components",{"title":137,"path":1208,"stem":1209,"titleTemplate":6,"icon":140},"/docs/4.x/directory-structure/app/composables","docs/4.x/2.directory-structure/1.app/1.composables",{"title":152,"path":1211,"stem":1212,"titleTemplate":6,"icon":155},"/docs/4.x/directory-structure/app/layouts","docs/4.x/2.directory-structure/1.app/1.layouts",{"title":157,"path":1214,"stem":1215,"titleTemplate":6,"icon":160},"/docs/4.x/directory-structure/app/middleware","docs/4.x/2.directory-structure/1.app/1.middleware",{"title":171,"path":1217,"stem":1218,"titleTemplate":6,"icon":155},"/docs/4.x/directory-structure/app/pages","docs/4.x/2.directory-structure/1.app/1.pages",{"title":175,"path":1220,"stem":1221,"titleTemplate":6,"icon":178},"/docs/4.x/directory-structure/app/plugins","docs/4.x/2.directory-structure/1.app/1.plugins",{"title":195,"path":1223,"stem":1224,"titleTemplate":6,"icon":198},"/docs/4.x/directory-structure/app/utils","docs/4.x/2.directory-structure/1.app/1.utils",{"title":219,"path":1226,"stem":1227,"titleTemplate":6,"icon":222},"/docs/4.x/directory-structure/app/app","docs/4.x/2.directory-structure/1.app/3.app",{"title":224,"path":1229,"stem":1230,"titleTemplate":6,"icon":227},"/docs/4.x/directory-structure/app/app-config","docs/4.x/2.directory-structure/1.app/3.app-config",{"title":229,"path":1232,"stem":1233,"titleTemplate":6,"icon":222},"/docs/4.x/directory-structure/app/error","docs/4.x/2.directory-structure/1.app/3.error",{"title":142,"path":1235,"stem":1236,"titleTemplate":6,"icon":145},"/docs/4.x/directory-structure/content","docs/4.x/2.directory-structure/1.content",{"title":147,"path":1238,"stem":1239,"titleTemplate":6,"icon":150},"/docs/4.x/directory-structure/layers","docs/4.x/2.directory-structure/1.layers",{"title":162,"path":1241,"stem":1242,"titleTemplate":6,"icon":150},"/docs/4.x/directory-structure/modules","docs/4.x/2.directory-structure/1.modules",{"title":166,"path":1244,"stem":1245,"titleTemplate":6,"icon":169},"/docs/4.x/directory-structure/node_modules","docs/4.x/2.directory-structure/1.node_modules",{"title":180,"path":1247,"stem":1248,"titleTemplate":6,"icon":183},"/docs/4.x/directory-structure/public","docs/4.x/2.directory-structure/1.public",{"title":185,"path":1250,"stem":1251,"titleTemplate":6,"icon":188},"/docs/4.x/directory-structure/server","docs/4.x/2.directory-structure/1.server",{"title":190,"path":1253,"stem":1254,"titleTemplate":6,"icon":193},"/docs/4.x/directory-structure/shared","docs/4.x/2.directory-structure/1.shared",{"title":200,"path":1256,"stem":1257,"titleTemplate":6,"icon":203},"/docs/4.x/directory-structure/env","docs/4.x/2.directory-structure/2.env",{"title":205,"path":1259,"stem":1260,"titleTemplate":6,"icon":208},"/docs/4.x/directory-structure/gitignore","docs/4.x/2.directory-structure/2.gitignore",{"title":210,"path":1262,"stem":1263,"titleTemplate":6,"icon":213},"/docs/4.x/directory-structure/nuxtignore","docs/4.x/2.directory-structure/2.nuxtignore",{"title":215,"path":1265,"stem":1266,"titleTemplate":6,"icon":213},"/docs/4.x/directory-structure/nuxtrc","docs/4.x/2.directory-structure/2.nuxtrc",{"title":233,"path":1268,"stem":1269,"titleTemplate":6,"icon":213},"/docs/4.x/directory-structure/nuxt-config","docs/4.x/2.directory-structure/3.nuxt-config",{"title":237,"path":1271,"stem":1272,"titleTemplate":6,"icon":240},"/docs/4.x/directory-structure/package","docs/4.x/2.directory-structure/3.package",{"title":242,"path":1274,"stem":1275,"titleTemplate":6,"icon":245},"/docs/4.x/directory-structure/tsconfig","docs/4.x/2.directory-structure/3.tsconfig",{"title":247,"titleTemplate":6,"icon":248,"path":1277,"stem":1278,"children":1279,"page":108},"/docs/4.x/guide","docs/4.x/3.guide",[1280,1305,1318,1328,1353,1369],{"title":253,"titleTemplate":254,"icon":255,"path":1281,"stem":1282,"children":1283,"page":108},"/docs/4.x/guide/concepts","docs/4.x/3.guide/1.concepts",[1284,1287,1290,1293,1296,1299,1302],{"title":260,"path":1285,"stem":1286,"titleTemplate":6},"/docs/4.x/guide/concepts/rendering","docs/4.x/3.guide/1.concepts/1.rendering",{"title":264,"path":1288,"stem":1289,"titleTemplate":6},"/docs/4.x/guide/concepts/nuxt-lifecycle","docs/4.x/3.guide/1.concepts/2.nuxt-lifecycle",{"title":268,"path":1291,"stem":1292,"titleTemplate":6},"/docs/4.x/guide/concepts/auto-imports","docs/4.x/3.guide/1.concepts/3.auto-imports",{"title":272,"path":1294,"stem":1295,"titleTemplate":6},"/docs/4.x/guide/concepts/server-engine","docs/4.x/3.guide/1.concepts/4.server-engine",{"title":276,"path":1297,"stem":1298,"titleTemplate":6},"/docs/4.x/guide/concepts/modules","docs/4.x/3.guide/1.concepts/5.modules",{"title":280,"path":1300,"stem":1301,"titleTemplate":6},"/docs/4.x/guide/concepts/typescript","docs/4.x/3.guide/1.concepts/8.typescript",{"title":284,"path":1303,"stem":1304,"titleTemplate":6},"/docs/4.x/guide/concepts/code-style","docs/4.x/3.guide/1.concepts/9.code-style",{"title":288,"titleTemplate":289,"icon":290,"path":1306,"stem":1307,"children":1308,"page":108},"/docs/4.x/guide/best-practices","docs/4.x/3.guide/2.best-practices",[1309,1312,1315],{"title":295,"path":1310,"stem":1311,"titleTemplate":6},"/docs/4.x/guide/best-practices/hydration","docs/4.x/3.guide/2.best-practices/hydration",{"title":299,"path":1313,"stem":1314,"titleTemplate":6},"/docs/4.x/guide/best-practices/performance","docs/4.x/3.guide/2.best-practices/performance",{"title":303,"path":1316,"stem":1317,"titleTemplate":6},"/docs/4.x/guide/best-practices/plugins","docs/4.x/3.guide/2.best-practices/plugins",{"title":307,"titleTemplate":308,"icon":309,"path":1319,"stem":1320,"children":1321,"page":108},"/docs/4.x/guide/ai","docs/4.x/3.guide/3.ai",[1322,1325],{"title":314,"path":1323,"stem":1324,"titleTemplate":6},"/docs/4.x/guide/ai/mcp","docs/4.x/3.guide/3.ai/1.mcp",{"title":318,"path":1326,"stem":1327,"titleTemplate":6},"/docs/4.x/guide/ai/llms-txt","docs/4.x/3.guide/3.ai/2.llms-txt",{"title":322,"titleTemplate":323,"icon":324,"path":1329,"stem":1330,"children":1331,"page":108},"/docs/4.x/guide/modules","docs/4.x/3.guide/4.modules",[1332,1335,1338,1341,1344,1347,1350],{"title":329,"path":1333,"stem":1334,"titleTemplate":6},"/docs/4.x/guide/modules/getting-started","docs/4.x/3.guide/4.modules/1.getting-started",{"title":333,"path":1336,"stem":1337,"titleTemplate":6},"/docs/4.x/guide/modules/module-anatomy","docs/4.x/3.guide/4.modules/2.module-anatomy",{"title":337,"path":1339,"stem":1340,"titleTemplate":6},"/docs/4.x/guide/modules/recipes-basics","docs/4.x/3.guide/4.modules/3.recipes-basics",{"title":341,"path":1342,"stem":1343,"titleTemplate":6},"/docs/4.x/guide/modules/recipes-advanced","docs/4.x/3.guide/4.modules/4.recipes-advanced",{"title":345,"path":1345,"stem":1346,"titleTemplate":6},"/docs/4.x/guide/modules/testing","docs/4.x/3.guide/4.modules/5.testing",{"title":349,"path":1348,"stem":1349,"titleTemplate":6},"/docs/4.x/guide/modules/best-practices","docs/4.x/3.guide/4.modules/6.best-practices",{"title":353,"path":1351,"stem":1352,"titleTemplate":6},"/docs/4.x/guide/modules/ecosystem","docs/4.x/3.guide/4.modules/7.ecosystem",{"title":357,"titleTemplate":358,"icon":359,"path":1354,"stem":1355,"children":1356,"page":108},"/docs/4.x/guide/recipes","docs/4.x/3.guide/5.recipes",[1357,1360,1363,1366],{"title":364,"path":1358,"stem":1359,"titleTemplate":6},"/docs/4.x/guide/recipes/custom-routing","docs/4.x/3.guide/5.recipes/1.custom-routing",{"title":368,"path":1361,"stem":1362,"titleTemplate":6},"/docs/4.x/guide/recipes/vite-plugin","docs/4.x/3.guide/5.recipes/2.vite-plugin",{"title":372,"path":1364,"stem":1365,"titleTemplate":6},"/docs/4.x/guide/recipes/custom-usefetch","docs/4.x/3.guide/5.recipes/3.custom-usefetch",{"title":376,"path":1367,"stem":1368,"titleTemplate":6},"/docs/4.x/guide/recipes/sessions-and-authentication","docs/4.x/3.guide/5.recipes/4.sessions-and-authentication",{"title":380,"titleTemplate":381,"icon":382,"path":1370,"stem":1371,"children":1372,"page":108},"/docs/4.x/guide/going-further","docs/4.x/3.guide/6.going-further",[1373,1376,1379,1382,1385,1388,1391,1394,1397,1400],{"title":387,"path":1374,"stem":1375,"titleTemplate":6},"/docs/4.x/guide/going-further/events","docs/4.x/3.guide/6.going-further/1.events",{"title":391,"path":1377,"stem":1378,"titleTemplate":6},"/docs/4.x/guide/going-further/experimental-features","docs/4.x/3.guide/6.going-further/1.experimental-features",{"title":395,"path":1380,"stem":1381,"titleTemplate":6},"/docs/4.x/guide/going-further/features","docs/4.x/3.guide/6.going-further/1.features",{"title":399,"path":1383,"stem":1384,"titleTemplate":6},"/docs/4.x/guide/going-further/runtime-config","docs/4.x/3.guide/6.going-further/10.runtime-config",{"title":403,"path":1386,"stem":1387,"titleTemplate":6},"/docs/4.x/guide/going-further/nightly-release-channel","docs/4.x/3.guide/6.going-further/11.nightly-release-channel",{"title":407,"path":1389,"stem":1390,"titleTemplate":6},"/docs/4.x/guide/going-further/hooks","docs/4.x/3.guide/6.going-further/2.hooks",{"title":411,"path":1392,"stem":1393,"titleTemplate":6},"/docs/4.x/guide/going-further/kit","docs/4.x/3.guide/6.going-further/4.kit",{"title":415,"path":1395,"stem":1396,"titleTemplate":6},"/docs/4.x/guide/going-further/nuxt-app","docs/4.x/3.guide/6.going-further/6.nuxt-app",{"title":419,"path":1398,"stem":1399,"titleTemplate":6},"/docs/4.x/guide/going-further/layers","docs/4.x/3.guide/6.going-further/7.layers",{"title":423,"path":1401,"stem":1402,"titleTemplate":6},"/docs/4.x/guide/going-further/debugging","docs/4.x/3.guide/6.going-further/9.debugging",{"title":427,"titleTemplate":428,"icon":429,"path":1404,"stem":1405,"children":1406,"page":108},"/docs/4.x/api","docs/4.x/4.api",[1407,1460,1555,1646,1698,1756,1766],{"title":434,"titleTemplate":435,"icon":324,"path":1408,"stem":1409,"children":1410,"page":108},"/docs/4.x/api/components","docs/4.x/4.api/1.components",[1411,1414,1417,1420,1423,1426,1429,1432,1436,1439,1442,1445,1448,1451,1454,1457],{"title":440,"path":1412,"stem":1413,"titleTemplate":6},"/docs/4.x/api/components/client-only","docs/4.x/4.api/1.components/1.client-only",{"title":444,"path":1415,"stem":1416,"titleTemplate":6},"/docs/4.x/api/components/dev-only","docs/4.x/4.api/1.components/1.dev-only",{"title":448,"path":1418,"stem":1419,"titleTemplate":6},"/docs/4.x/api/components/nuxt-client-fallback","docs/4.x/4.api/1.components/1.nuxt-client-fallback",{"title":452,"path":1421,"stem":1422,"titleTemplate":6},"/docs/4.x/api/components/nuxt-picture","docs/4.x/4.api/1.components/10.nuxt-picture",{"title":456,"path":1424,"stem":1425,"titleTemplate":6},"/docs/4.x/api/components/teleports","docs/4.x/4.api/1.components/11.teleports",{"title":460,"path":1427,"stem":1428,"titleTemplate":6},"/docs/4.x/api/components/nuxt-route-announcer","docs/4.x/4.api/1.components/12.nuxt-route-announcer",{"title":464,"path":1430,"stem":1431,"titleTemplate":6},"/docs/4.x/api/components/nuxt-time","docs/4.x/4.api/1.components/13.nuxt-time",{"title":1433,"path":1434,"stem":1435,"titleTemplate":6},"\u003CNuxtAnnouncer>","/docs/4.x/api/components/nuxt-announcer","docs/4.x/4.api/1.components/14.nuxt-announcer",{"title":468,"path":1437,"stem":1438,"titleTemplate":6},"/docs/4.x/api/components/nuxt-page","docs/4.x/4.api/1.components/2.nuxt-page",{"title":472,"path":1440,"stem":1441,"titleTemplate":6},"/docs/4.x/api/components/nuxt-layout","docs/4.x/4.api/1.components/3.nuxt-layout",{"title":476,"path":1443,"stem":1444,"titleTemplate":6},"/docs/4.x/api/components/nuxt-link","docs/4.x/4.api/1.components/4.nuxt-link",{"title":480,"path":1446,"stem":1447,"titleTemplate":6},"/docs/4.x/api/components/nuxt-loading-indicator","docs/4.x/4.api/1.components/5.nuxt-loading-indicator",{"title":484,"path":1449,"stem":1450,"titleTemplate":6},"/docs/4.x/api/components/nuxt-error-boundary","docs/4.x/4.api/1.components/6.nuxt-error-boundary",{"title":488,"path":1452,"stem":1453,"titleTemplate":6},"/docs/4.x/api/components/nuxt-welcome","docs/4.x/4.api/1.components/7.nuxt-welcome",{"title":492,"path":1455,"stem":1456,"titleTemplate":6},"/docs/4.x/api/components/nuxt-island","docs/4.x/4.api/1.components/8.nuxt-island",{"title":496,"path":1458,"stem":1459,"titleTemplate":6},"/docs/4.x/api/components/nuxt-img","docs/4.x/4.api/1.components/9.nuxt-img",{"title":500,"titleTemplate":501,"icon":502,"path":1461,"stem":1462,"children":1463,"page":108},"/docs/4.x/api/composables","docs/4.x/4.api/2.composables",[1464,1467,1471,1474,1477,1480,1483,1486,1489,1492,1495,1498,1501,1504,1507,1510,1513,1516,1519,1522,1525,1528,1531,1534,1537,1540,1543,1546,1549,1552],{"title":507,"path":1465,"stem":1466,"titleTemplate":6},"/docs/4.x/api/composables/on-prehydrate","docs/4.x/4.api/2.composables/on-prehydrate",{"title":1468,"path":1469,"stem":1470,"titleTemplate":6},"useAnnouncer","/docs/4.x/api/composables/use-announcer","docs/4.x/4.api/2.composables/use-announcer",{"title":511,"path":1472,"stem":1473,"titleTemplate":6},"/docs/4.x/api/composables/use-app-config","docs/4.x/4.api/2.composables/use-app-config",{"title":515,"path":1475,"stem":1476,"titleTemplate":6},"/docs/4.x/api/composables/use-async-data","docs/4.x/4.api/2.composables/use-async-data",{"title":519,"path":1478,"stem":1479,"titleTemplate":6},"/docs/4.x/api/composables/use-cookie","docs/4.x/4.api/2.composables/use-cookie",{"title":523,"path":1481,"stem":1482,"titleTemplate":6},"/docs/4.x/api/composables/use-error","docs/4.x/4.api/2.composables/use-error",{"title":527,"path":1484,"stem":1485,"titleTemplate":6},"/docs/4.x/api/composables/use-fetch","docs/4.x/4.api/2.composables/use-fetch",{"title":531,"path":1487,"stem":1488,"titleTemplate":6},"/docs/4.x/api/composables/use-head","docs/4.x/4.api/2.composables/use-head",{"title":535,"path":1490,"stem":1491,"titleTemplate":6},"/docs/4.x/api/composables/use-head-safe","docs/4.x/4.api/2.composables/use-head-safe",{"title":539,"path":1493,"stem":1494,"titleTemplate":6},"/docs/4.x/api/composables/use-hydration","docs/4.x/4.api/2.composables/use-hydration",{"title":543,"path":1496,"stem":1497,"titleTemplate":6},"/docs/4.x/api/composables/use-lazy-async-data","docs/4.x/4.api/2.composables/use-lazy-async-data",{"title":547,"path":1499,"stem":1500,"titleTemplate":6},"/docs/4.x/api/composables/use-lazy-fetch","docs/4.x/4.api/2.composables/use-lazy-fetch",{"title":551,"path":1502,"stem":1503,"titleTemplate":6},"/docs/4.x/api/composables/use-loading-indicator","docs/4.x/4.api/2.composables/use-loading-indicator",{"title":555,"path":1505,"stem":1506,"titleTemplate":6},"/docs/4.x/api/composables/use-nuxt-app","docs/4.x/4.api/2.composables/use-nuxt-app",{"title":559,"path":1508,"stem":1509,"titleTemplate":6},"/docs/4.x/api/composables/use-nuxt-data","docs/4.x/4.api/2.composables/use-nuxt-data",{"title":563,"path":1511,"stem":1512,"titleTemplate":6},"/docs/4.x/api/composables/use-preview-mode","docs/4.x/4.api/2.composables/use-preview-mode",{"title":567,"path":1514,"stem":1515,"titleTemplate":6},"/docs/4.x/api/composables/use-request-event","docs/4.x/4.api/2.composables/use-request-event",{"title":571,"path":1517,"stem":1518,"titleTemplate":6},"/docs/4.x/api/composables/use-request-fetch","docs/4.x/4.api/2.composables/use-request-fetch",{"title":575,"path":1520,"stem":1521,"titleTemplate":6},"/docs/4.x/api/composables/use-request-header","docs/4.x/4.api/2.composables/use-request-header",{"title":579,"path":1523,"stem":1524,"titleTemplate":6},"/docs/4.x/api/composables/use-request-headers","docs/4.x/4.api/2.composables/use-request-headers",{"title":583,"path":1526,"stem":1527,"titleTemplate":6},"/docs/4.x/api/composables/use-request-url","docs/4.x/4.api/2.composables/use-request-url",{"title":587,"path":1529,"stem":1530,"titleTemplate":6},"/docs/4.x/api/composables/use-response-header","docs/4.x/4.api/2.composables/use-response-header",{"title":591,"path":1532,"stem":1533,"titleTemplate":6},"/docs/4.x/api/composables/use-route","docs/4.x/4.api/2.composables/use-route",{"title":595,"path":1535,"stem":1536,"titleTemplate":6},"/docs/4.x/api/composables/use-route-announcer","docs/4.x/4.api/2.composables/use-route-announcer",{"title":599,"path":1538,"stem":1539,"titleTemplate":6},"/docs/4.x/api/composables/use-router","docs/4.x/4.api/2.composables/use-router",{"title":603,"path":1541,"stem":1542,"titleTemplate":6},"/docs/4.x/api/composables/use-runtime-config","docs/4.x/4.api/2.composables/use-runtime-config",{"title":607,"path":1544,"stem":1545,"titleTemplate":6},"/docs/4.x/api/composables/use-runtime-hook","docs/4.x/4.api/2.composables/use-runtime-hook",{"title":611,"path":1547,"stem":1548,"titleTemplate":6},"/docs/4.x/api/composables/use-seo-meta","docs/4.x/4.api/2.composables/use-seo-meta",{"title":615,"path":1550,"stem":1551,"titleTemplate":6},"/docs/4.x/api/composables/use-server-seo-meta","docs/4.x/4.api/2.composables/use-server-seo-meta",{"title":619,"path":1553,"stem":1554,"titleTemplate":6},"/docs/4.x/api/composables/use-state","docs/4.x/4.api/2.composables/use-state",{"title":623,"titleTemplate":624,"icon":625,"path":1556,"stem":1557,"children":1558,"page":108},"/docs/4.x/api/utils","docs/4.x/4.api/3.utils",[1559,1562,1565,1568,1571,1574,1577,1580,1583,1586,1589,1592,1595,1598,1601,1604,1607,1610,1613,1616,1619,1622,1625,1628,1631,1634,1637,1640,1643],{"title":630,"path":1560,"stem":1561,"titleTemplate":6},"/docs/4.x/api/utils/dollarfetch","docs/4.x/4.api/3.utils/$fetch",{"title":634,"path":1563,"stem":1564,"titleTemplate":6},"/docs/4.x/api/utils/abort-navigation","docs/4.x/4.api/3.utils/abort-navigation",{"title":638,"path":1566,"stem":1567,"titleTemplate":6},"/docs/4.x/api/utils/add-route-middleware","docs/4.x/4.api/3.utils/add-route-middleware",{"title":642,"path":1569,"stem":1570,"titleTemplate":6},"/docs/4.x/api/utils/call-once","docs/4.x/4.api/3.utils/call-once",{"title":646,"path":1572,"stem":1573,"titleTemplate":6},"/docs/4.x/api/utils/clear-error","docs/4.x/4.api/3.utils/clear-error",{"title":650,"path":1575,"stem":1576,"titleTemplate":6},"/docs/4.x/api/utils/clear-nuxt-data","docs/4.x/4.api/3.utils/clear-nuxt-data",{"title":654,"path":1578,"stem":1579,"titleTemplate":6},"/docs/4.x/api/utils/clear-nuxt-state","docs/4.x/4.api/3.utils/clear-nuxt-state",{"title":658,"path":1581,"stem":1582,"titleTemplate":6},"/docs/4.x/api/utils/create-error","docs/4.x/4.api/3.utils/create-error",{"title":662,"path":1584,"stem":1585,"titleTemplate":6},"/docs/4.x/api/utils/define-lazy-hydration-component","docs/4.x/4.api/3.utils/define-lazy-hydration-component",{"title":666,"path":1587,"stem":1588,"titleTemplate":6},"/docs/4.x/api/utils/define-nuxt-component","docs/4.x/4.api/3.utils/define-nuxt-component",{"title":670,"path":1590,"stem":1591,"titleTemplate":6},"/docs/4.x/api/utils/define-nuxt-plugin","docs/4.x/4.api/3.utils/define-nuxt-plugin",{"title":674,"path":1593,"stem":1594,"titleTemplate":6},"/docs/4.x/api/utils/define-nuxt-route-middleware","docs/4.x/4.api/3.utils/define-nuxt-route-middleware",{"title":678,"path":1596,"stem":1597,"titleTemplate":6},"/docs/4.x/api/utils/define-page-meta","docs/4.x/4.api/3.utils/define-page-meta",{"title":682,"path":1599,"stem":1600,"titleTemplate":6},"/docs/4.x/api/utils/define-route-rules","docs/4.x/4.api/3.utils/define-route-rules",{"title":686,"path":1602,"stem":1603,"titleTemplate":6},"/docs/4.x/api/utils/navigate-to","docs/4.x/4.api/3.utils/navigate-to",{"title":690,"path":1605,"stem":1606,"titleTemplate":6},"/docs/4.x/api/utils/on-before-route-leave","docs/4.x/4.api/3.utils/on-before-route-leave",{"title":694,"path":1608,"stem":1609,"titleTemplate":6},"/docs/4.x/api/utils/on-before-route-update","docs/4.x/4.api/3.utils/on-before-route-update",{"title":698,"path":1611,"stem":1612,"titleTemplate":6},"/docs/4.x/api/utils/on-nuxt-ready","docs/4.x/4.api/3.utils/on-nuxt-ready",{"title":702,"path":1614,"stem":1615,"titleTemplate":6},"/docs/4.x/api/utils/prefetch-components","docs/4.x/4.api/3.utils/prefetch-components",{"title":706,"path":1617,"stem":1618,"titleTemplate":6},"/docs/4.x/api/utils/preload-components","docs/4.x/4.api/3.utils/preload-components",{"title":710,"path":1620,"stem":1621,"titleTemplate":6},"/docs/4.x/api/utils/preload-route-components","docs/4.x/4.api/3.utils/preload-route-components",{"title":714,"path":1623,"stem":1624,"titleTemplate":6},"/docs/4.x/api/utils/prerender-routes","docs/4.x/4.api/3.utils/prerender-routes",{"title":718,"path":1626,"stem":1627,"titleTemplate":6},"/docs/4.x/api/utils/refresh-cookie","docs/4.x/4.api/3.utils/refresh-cookie",{"title":722,"path":1629,"stem":1630,"titleTemplate":6},"/docs/4.x/api/utils/refresh-nuxt-data","docs/4.x/4.api/3.utils/refresh-nuxt-data",{"title":726,"path":1632,"stem":1633,"titleTemplate":6},"/docs/4.x/api/utils/reload-nuxt-app","docs/4.x/4.api/3.utils/reload-nuxt-app",{"title":730,"path":1635,"stem":1636,"titleTemplate":6},"/docs/4.x/api/utils/set-page-layout","docs/4.x/4.api/3.utils/set-page-layout",{"title":734,"path":1638,"stem":1639,"titleTemplate":6},"/docs/4.x/api/utils/set-response-status","docs/4.x/4.api/3.utils/set-response-status",{"title":738,"path":1641,"stem":1642,"titleTemplate":6},"/docs/4.x/api/utils/show-error","docs/4.x/4.api/3.utils/show-error",{"title":742,"path":1644,"stem":1645,"titleTemplate":6},"/docs/4.x/api/utils/update-app-config","docs/4.x/4.api/3.utils/update-app-config",{"title":746,"titleTemplate":747,"icon":748,"path":1647,"stem":1648,"children":1649,"page":108},"/docs/4.x/api/commands","docs/4.x/4.api/4.commands",[1650,1653,1656,1659,1662,1665,1668,1671,1674,1677,1680,1683,1686,1689,1692,1695],{"title":753,"path":1651,"stem":1652,"titleTemplate":6},"/docs/4.x/api/commands/add","docs/4.x/4.api/4.commands/add",{"title":757,"path":1654,"stem":1655,"titleTemplate":6},"/docs/4.x/api/commands/analyze","docs/4.x/4.api/4.commands/analyze",{"title":761,"path":1657,"stem":1658,"titleTemplate":6},"/docs/4.x/api/commands/build","docs/4.x/4.api/4.commands/build",{"title":765,"path":1660,"stem":1661,"titleTemplate":6},"/docs/4.x/api/commands/build-module","docs/4.x/4.api/4.commands/build-module",{"title":769,"path":1663,"stem":1664,"titleTemplate":6},"/docs/4.x/api/commands/cleanup","docs/4.x/4.api/4.commands/cleanup",{"title":773,"path":1666,"stem":1667,"titleTemplate":6},"/docs/4.x/api/commands/dev","docs/4.x/4.api/4.commands/dev",{"title":777,"path":1669,"stem":1670,"titleTemplate":6},"/docs/4.x/api/commands/devtools","docs/4.x/4.api/4.commands/devtools",{"title":781,"path":1672,"stem":1673,"titleTemplate":6},"/docs/4.x/api/commands/generate","docs/4.x/4.api/4.commands/generate",{"title":785,"path":1675,"stem":1676,"titleTemplate":6},"/docs/4.x/api/commands/info","docs/4.x/4.api/4.commands/info",{"title":789,"path":1678,"stem":1679,"titleTemplate":6},"/docs/4.x/api/commands/init","docs/4.x/4.api/4.commands/init",{"title":793,"path":1681,"stem":1682,"titleTemplate":6},"/docs/4.x/api/commands/module","docs/4.x/4.api/4.commands/module",{"title":797,"path":1684,"stem":1685,"titleTemplate":6},"/docs/4.x/api/commands/prepare","docs/4.x/4.api/4.commands/prepare",{"title":801,"path":1687,"stem":1688,"titleTemplate":6},"/docs/4.x/api/commands/preview","docs/4.x/4.api/4.commands/preview",{"title":805,"path":1690,"stem":1691,"titleTemplate":6},"/docs/4.x/api/commands/test","docs/4.x/4.api/4.commands/test",{"title":809,"path":1693,"stem":1694,"titleTemplate":6},"/docs/4.x/api/commands/typecheck","docs/4.x/4.api/4.commands/typecheck",{"title":813,"path":1696,"stem":1697,"titleTemplate":6},"/docs/4.x/api/commands/upgrade","docs/4.x/4.api/4.commands/upgrade",{"title":411,"titleTemplate":817,"icon":818,"path":1699,"stem":1700,"children":1701,"page":108},"/docs/4.x/api/kit","docs/4.x/4.api/5.kit",[1702,1705,1708,1711,1714,1717,1720,1723,1726,1729,1732,1735,1738,1741,1744,1747,1750,1753],{"title":276,"path":1703,"stem":1704,"titleTemplate":6},"/docs/4.x/api/kit/modules","docs/4.x/4.api/5.kit/1.modules",{"title":399,"path":1706,"stem":1707,"titleTemplate":6},"/docs/4.x/api/kit/runtime-config","docs/4.x/4.api/5.kit/10.runtime-config",{"title":829,"path":1709,"stem":1710,"titleTemplate":6},"/docs/4.x/api/kit/templates","docs/4.x/4.api/5.kit/10.templates",{"title":833,"path":1712,"stem":1713,"titleTemplate":6},"/docs/4.x/api/kit/nitro","docs/4.x/4.api/5.kit/11.nitro",{"title":837,"path":1715,"stem":1716,"titleTemplate":6},"/docs/4.x/api/kit/resolving","docs/4.x/4.api/5.kit/12.resolving",{"title":841,"path":1718,"stem":1719,"titleTemplate":6},"/docs/4.x/api/kit/logging","docs/4.x/4.api/5.kit/13.logging",{"title":845,"path":1721,"stem":1722,"titleTemplate":6},"/docs/4.x/api/kit/builder","docs/4.x/4.api/5.kit/14.builder",{"title":849,"path":1724,"stem":1725,"titleTemplate":6},"/docs/4.x/api/kit/examples","docs/4.x/4.api/5.kit/15.examples",{"title":84,"path":1727,"stem":1728,"titleTemplate":6},"/docs/4.x/api/kit/layers","docs/4.x/4.api/5.kit/16.layers",{"title":856,"path":1730,"stem":1731,"titleTemplate":6},"/docs/4.x/api/kit/programmatic","docs/4.x/4.api/5.kit/2.programmatic",{"title":860,"path":1733,"stem":1734,"titleTemplate":6},"/docs/4.x/api/kit/compatibility","docs/4.x/4.api/5.kit/3.compatibility",{"title":268,"path":1736,"stem":1737,"titleTemplate":6},"/docs/4.x/api/kit/autoimports","docs/4.x/4.api/5.kit/4.autoimports",{"title":434,"path":1739,"stem":1740,"titleTemplate":6},"/docs/4.x/api/kit/components","docs/4.x/4.api/5.kit/5.components",{"title":870,"path":1742,"stem":1743,"titleTemplate":6},"/docs/4.x/api/kit/context","docs/4.x/4.api/5.kit/6.context",{"title":874,"path":1745,"stem":1746,"titleTemplate":6},"/docs/4.x/api/kit/pages","docs/4.x/4.api/5.kit/7.pages",{"title":878,"path":1748,"stem":1749,"titleTemplate":6},"/docs/4.x/api/kit/layout","docs/4.x/4.api/5.kit/8.layout",{"title":882,"path":1751,"stem":1752,"titleTemplate":6},"/docs/4.x/api/kit/head","docs/4.x/4.api/5.kit/9.head",{"title":886,"path":1754,"stem":1755,"titleTemplate":6},"/docs/4.x/api/kit/plugins","docs/4.x/4.api/5.kit/9.plugins",{"title":890,"titleTemplate":6,"icon":891,"path":1757,"stem":1758,"children":1759,"page":108},"/docs/4.x/api/advanced","docs/4.x/4.api/6.advanced",[1760,1763],{"title":407,"path":1761,"stem":1762,"titleTemplate":6},"/docs/4.x/api/advanced/hooks","docs/4.x/4.api/6.advanced/1.hooks",{"title":899,"path":1764,"stem":1765,"titleTemplate":6},"/docs/4.x/api/advanced/import-meta","docs/4.x/4.api/6.advanced/2.import-meta",{"title":903,"path":1767,"stem":1768,"titleTemplate":906,"icon":32},"/docs/4.x/api/nuxt-config","docs/4.x/4.api/6.nuxt-config",{"title":849,"titleTemplate":908,"icon":909,"path":1770,"stem":1771,"children":1772,"page":108},"/docs/4.x/examples","docs/4.x/4.examples",[1773,1776,1795,1808,1839],{"title":914,"path":1774,"stem":1775,"titleTemplate":6},"/docs/4.x/examples/hello-world","docs/4.x/4.examples/0.hello-world",{"title":395,"path":1777,"stem":1778,"children":1779,"page":108},"/docs/4.x/examples/features","docs/4.x/4.examples/1.features",[1780,1783,1786,1789,1792],{"title":922,"path":1781,"stem":1782,"titleTemplate":6},"/docs/4.x/examples/features/auto-imports","docs/4.x/4.examples/1.features/1.auto-imports",{"title":64,"path":1784,"stem":1785,"titleTemplate":6},"/docs/4.x/examples/features/data-fetching","docs/4.x/4.examples/1.features/2.data-fetching",{"title":69,"path":1787,"stem":1788,"titleTemplate":6},"/docs/4.x/examples/features/state-management","docs/4.x/4.examples/1.features/3.state-management",{"title":932,"path":1790,"stem":1791,"titleTemplate":6},"/docs/4.x/examples/features/meta-tags","docs/4.x/4.examples/1.features/4.meta-tags",{"title":936,"path":1793,"stem":1794,"titleTemplate":6},"/docs/4.x/examples/features/layouts","docs/4.x/4.examples/1.features/5.layouts",{"title":49,"path":1796,"stem":1797,"children":1798,"page":108},"/docs/4.x/examples/routing","docs/4.x/4.examples/2.routing",[1799,1802,1805],{"title":944,"path":1800,"stem":1801,"titleTemplate":6},"/docs/4.x/examples/routing/middleware","docs/4.x/4.examples/2.routing/middleware",{"title":874,"path":1803,"stem":1804,"titleTemplate":6},"/docs/4.x/examples/routing/pages","docs/4.x/4.examples/2.routing/pages",{"title":951,"path":1806,"stem":1807,"titleTemplate":6},"/docs/4.x/examples/routing/universal-router","docs/4.x/4.examples/2.routing/universal-router",{"title":890,"path":1809,"stem":1810,"children":1811,"page":108},"/docs/4.x/examples/advanced","docs/4.x/4.examples/4.advanced",[1812,1815,1818,1821,1824,1827,1830,1833,1836],{"title":84,"path":1813,"stem":1814,"titleTemplate":6},"/docs/4.x/examples/advanced/config-extends","docs/4.x/4.examples/4.advanced/config-extends",{"title":74,"path":1816,"stem":1817,"titleTemplate":6},"/docs/4.x/examples/advanced/error-handling","docs/4.x/4.examples/4.advanced/error-handling",{"title":965,"path":1819,"stem":1820,"titleTemplate":6},"/docs/4.x/examples/advanced/jsx","docs/4.x/4.examples/4.advanced/jsx",{"title":969,"path":1822,"stem":1823,"titleTemplate":6},"/docs/4.x/examples/advanced/locale","docs/4.x/4.examples/4.advanced/locale",{"title":973,"path":1825,"stem":1826,"titleTemplate":6},"/docs/4.x/examples/advanced/module-extend-pages","docs/4.x/4.examples/4.advanced/module-extend-pages",{"title":977,"path":1828,"stem":1829,"titleTemplate":6},"/docs/4.x/examples/advanced/teleport","docs/4.x/4.examples/4.advanced/teleport",{"title":99,"path":1831,"stem":1832,"titleTemplate":6},"/docs/4.x/examples/advanced/testing","docs/4.x/4.examples/4.advanced/testing",{"title":519,"path":1834,"stem":1835,"titleTemplate":6},"/docs/4.x/examples/advanced/use-cookie","docs/4.x/4.examples/4.advanced/use-cookie",{"title":987,"path":1837,"stem":1838,"titleTemplate":6},"/docs/4.x/examples/advanced/use-custom-fetch-composable","docs/4.x/4.examples/4.advanced/use-custom-fetch-composable",{"title":991,"path":1840,"stem":1841,"children":1842,"page":108},"/docs/4.x/examples/experimental","docs/4.x/4.examples/7.experimental",[1843],{"title":996,"path":1844,"stem":1845,"titleTemplate":6},"/docs/4.x/examples/experimental/wasm","docs/4.x/4.examples/7.experimental/wasm",{"title":1000,"titleTemplate":1001,"icon":1002,"path":1847,"stem":1848,"children":1849,"page":108},"/docs/4.x/community","docs/4.x/5.community",[1850,1853,1856,1859,1862,1865],{"title":1007,"path":1851,"stem":1852,"titleTemplate":6,"icon":1010},"/docs/4.x/community/getting-help","docs/4.x/5.community/2.getting-help",{"title":1012,"path":1854,"stem":1855,"titleTemplate":6,"icon":1015},"/docs/4.x/community/reporting-bugs","docs/4.x/5.community/3.reporting-bugs",{"title":1017,"path":1857,"stem":1858,"titleTemplate":6,"icon":1020},"/docs/4.x/community/contribution","docs/4.x/5.community/4.contribution",{"title":1022,"path":1860,"stem":1861,"titleTemplate":6,"icon":1025},"/docs/4.x/community/framework-contribution","docs/4.x/5.community/5.framework-contribution",{"title":1027,"path":1863,"stem":1864,"titleTemplate":6,"icon":1030},"/docs/4.x/community/roadmap","docs/4.x/5.community/6.roadmap",{"title":1032,"path":1866,"stem":1867,"titleTemplate":6,"icon":1035},"/docs/4.x/community/changelog","docs/4.x/5.community/7.changelog",{"title":1037,"titleTemplate":1038,"icon":1039,"path":1869,"stem":1870,"children":1871,"page":108},"/docs/4.x/bridge","docs/4.x/6.bridge",[1872,1875,1878,1881,1884,1887,1890,1893,1896,1899],{"title":1044,"path":1873,"stem":1874,"titleTemplate":6},"/docs/4.x/bridge/overview","docs/4.x/6.bridge/1.overview",{"title":29,"path":1876,"stem":1877,"titleTemplate":6},"/docs/4.x/bridge/configuration","docs/4.x/6.bridge/10.configuration",{"title":280,"path":1879,"stem":1880,"titleTemplate":6},"/docs/4.x/bridge/typescript","docs/4.x/6.bridge/2.typescript",{"title":1054,"path":1882,"stem":1883,"titleTemplate":6},"/docs/4.x/bridge/bridge-composition-api","docs/4.x/6.bridge/3.bridge-composition-api",{"title":1058,"path":1885,"stem":1886,"titleTemplate":6},"/docs/4.x/bridge/plugins-and-middleware","docs/4.x/6.bridge/4.plugins-and-middleware",{"title":1062,"path":1888,"stem":1889,"titleTemplate":6},"/docs/4.x/bridge/nuxt3-compatible-api","docs/4.x/6.bridge/5.nuxt3-compatible-api",{"title":932,"path":1891,"stem":1892,"titleTemplate":6},"/docs/4.x/bridge/meta","docs/4.x/6.bridge/6.meta",{"title":399,"path":1894,"stem":1895,"titleTemplate":6},"/docs/4.x/bridge/runtime-config","docs/4.x/6.bridge/7.runtime-config",{"title":833,"path":1897,"stem":1898,"titleTemplate":6},"/docs/4.x/bridge/nitro","docs/4.x/6.bridge/8.nitro",{"title":1075,"path":1900,"stem":1901,"titleTemplate":6},"/docs/4.x/bridge/vite","docs/4.x/6.bridge/9.vite",{"title":1079,"titleTemplate":1080,"icon":107,"path":1903,"stem":1904,"children":1905,"page":108},"/docs/4.x/migration","docs/4.x/7.migration",[1906,1909,1912,1915,1918,1921,1924,1927,1930,1933,1936],{"title":1044,"path":1907,"stem":1908,"titleTemplate":6},"/docs/4.x/migration/overview","docs/4.x/7.migration/1.overview",{"title":1088,"path":1910,"stem":1911,"titleTemplate":6},"/docs/4.x/migration/bundling","docs/4.x/7.migration/10.bundling",{"title":79,"path":1913,"stem":1914,"titleTemplate":6},"/docs/4.x/migration/server","docs/4.x/7.migration/11.server",{"title":29,"path":1916,"stem":1917,"titleTemplate":6},"/docs/4.x/migration/configuration","docs/4.x/7.migration/2.configuration",{"title":276,"path":1919,"stem":1920,"titleTemplate":6},"/docs/4.x/migration/module-authors","docs/4.x/7.migration/20.module-authors",{"title":922,"path":1922,"stem":1923,"titleTemplate":6},"/docs/4.x/migration/auto-imports","docs/4.x/7.migration/3.auto-imports",{"title":932,"path":1925,"stem":1926,"titleTemplate":6},"/docs/4.x/migration/meta","docs/4.x/7.migration/4.meta",{"title":1058,"path":1928,"stem":1929,"titleTemplate":6},"/docs/4.x/migration/plugins-and-middleware","docs/4.x/7.migration/5.plugins-and-middleware",{"title":1110,"path":1931,"stem":1932,"titleTemplate":6},"/docs/4.x/migration/pages-and-layouts","docs/4.x/7.migration/6.pages-and-layouts",{"title":1114,"path":1934,"stem":1935,"titleTemplate":6},"/docs/4.x/migration/component-options","docs/4.x/7.migration/7.component-options",{"title":399,"path":1937,"stem":1938,"titleTemplate":6},"/docs/4.x/migration/runtime-config","docs/4.x/7.migration/8.runtime-config",{"title":1940,"path":1941,"stem":1942,"children":1943,"page":108},"Blog","/blog","blog",[1944,1948,1952,1956,1960,1964,1968,1972,1976,1980,1984,1988,1992,1996,2000,2004,2008,2012,2016,2020,2024],{"title":1945,"path":1946,"stem":1947},"Announcing 3.0","/blog/v3","blog/1.v3",{"title":1949,"path":1950,"stem":1951},"Nuxt 3.3","/blog/v3-3","blog/10.v3-3",{"title":1953,"path":1954,"stem":1955},"Nuxt 3.4","/blog/v3-4","blog/11.v3-4",{"title":1957,"path":1958,"stem":1959},"Nuxt 3.5","/blog/v3-5","blog/12.v3-5",{"title":1961,"path":1962,"stem":1963},"Nuxt 3.6","/blog/v3-6","blog/13.v3-6",{"title":1965,"path":1966,"stem":1967},"Nuxt on the Edge","/blog/nuxt-on-the-edge","blog/14.nuxt-on-the-edge",{"title":1969,"path":1970,"stem":1971},"Nuxt DevTools v1.0","/blog/nuxt-devtools-v1-0","blog/18.nuxt-devtools-v1-0",{"title":1973,"path":1974,"stem":1975},"Nuxt: A vision for 2023","/blog/vision-2023","blog/2.vision-2023",{"title":1977,"path":1978,"stem":1979},"The Evolution of Shiki v1.0","/blog/shiki-v1","blog/21.shiki-v1",{"title":1981,"path":1982,"stem":1983},"Refreshed Nuxt ESLint Integrations","/blog/eslint-module","blog/24.eslint-module",{"title":1985,"path":1986,"stem":1987},"Introducing Nuxt Scripts","/blog/nuxt-scripts","blog/26.nuxt-scripts",{"title":1989,"path":1990,"stem":1991},"Introducing Nuxt Icon v1","/blog/nuxt-icon-v1-0","blog/29.nuxt-icon-v1-0",{"title":1993,"path":1994,"stem":1995},"Introducing Nuxt DevTools","/blog/introducing-nuxt-devtools","blog/3.introducing-nuxt-devtools",{"title":1997,"path":1998,"stem":1999},"Announcing Nuxt 3 Release Candidate","/blog/nuxt3-rc","blog/3.nuxt3-rc",{"title":2001,"path":2002,"stem":2003},"Nuxt 2 End-of-Life (EOL)","/blog/nuxt2-eol","blog/4.nuxt2-eol",{"title":2005,"path":2006,"stem":2007},"Introducing Nuxt 3 Beta","/blog/nuxt3-beta","blog/4.nuxt3-beta",{"title":2009,"path":2010,"stem":2011},"Going Full Static","/blog/going-full-static","blog/5.going-full-static",{"title":2013,"path":2014,"stem":2015},"Introducing Smart Prefetching","/blog/introducing-smart-prefetching","blog/6.introducing-smart-prefetching",{"title":2017,"path":2018,"stem":2019},"Understanding how fetch works in Nuxt 2.12","/blog/understanding-how-fetch-works-in-nuxt-2-12","blog/7.understanding-how-fetch-works-in-nuxt-2-12",{"title":2021,"path":2022,"stem":2023},"Nuxt 2 Static Improvements","/blog/nuxt-static-improvements","blog/8.nuxt-static-improvements",{"title":2025,"path":2026,"stem":2027},"Nuxt 2: From Terminal to Browser","/blog/nuxtjs-from-terminal-to-browser","blog/9.nuxtjs-from-terminal-to-browser",{"v3":2029,"v4":2030,"v2":2031},"3.21.1","4.3.1","2.18.1",{"id":2033,"title":391,"body":2034,"description":6822,"extension":6823,"links":6,"meta":6824,"navigation":1196,"path":1377,"seo":6825,"stem":1378,"titleTemplate":6,"__hash__":6826},"docsv4/docs/4.x/3.guide/6.going-further/1.experimental-features.md",{"type":2035,"value":2036,"toc":6771},"minimark",[2037,2041,2061,2067,2072,2082,2094,2097,2174,2178,2181,2184,2231,2235,2242,2288,2297,2301,2304,2350,2354,2368,2370,2416,2422,2426,2434,2480,2483,2594,2701,2704,2715,2719,2726,2733,2745,2755,2809,2813,2816,2819,2865,2869,2882,2885,2895,2941,2945,2952,2998,3004,3012,3015,3019,3022,3024,3070,3074,3077,3123,3127,3134,3136,3182,3186,3191,3237,3240,3355,3359,3367,3413,3417,3420,3466,3476,3480,3483,3529,3533,3542,3546,3549,3595,3599,3610,3659,3662,3668,3672,3688,3690,3736,3740,3750,3796,3813,3819,3867,3872,3875,3878,3891,3902,3909,3962,3966,3980,3983,4029,4033,4042,4262,4266,4276,4334,4338,4360,4369,4380,4383,4429,4433,4439,4441,4487,4495,4499,4502,4512,4515,4561,4564,4618,4624,4629,4633,4642,4648,4698,4702,4709,4714,4779,4876,4887,4891,4894,4897,4899,4945,4949,4952,4955,5001,5004,5033,5044,5050,5057,5061,5071,5088,5114,5125,5171,5215,5219,5229,5236,5277,5283,5316,5319,5323,5326,5329,5375,5382,5389,5393,5400,5407,5410,5456,5462,5466,5473,5476,5522,5528,5532,5535,5541,5543,5589,5595,5599,5619,5627,5629,5675,5678,5686,5707,5721,5726,5731,5777,5920,5923,5926,5936,6104,6134,6138,6141,6150,6152,6198,6204,6208,6230,6232,6278,6284,6288,6291,6301,6303,6349,6353,6368,6370,6416,6420,6423,6430,6465,6472,6488,6491,6589,6593,6600,6603,6605,6651,6673,6681,6685,6694,6703,6749,6752,6762,6767],[2038,2039,2040],"p",{},"Nuxt includes experimental features that you can enable in your configuration file.",[2038,2042,2043,2044,2048,2049,2053,2054,2060],{},"Internally, Nuxt uses ",[2045,2046,2047],"code",{},"@nuxt/schema"," to define these experimental features. You can refer to the ",[2050,2051,2052],"a",{"href":1377},"API documentation"," or the ",[2050,2055,2059],{"href":2056,"rel":2057},"https://github.com/nuxt/nuxt/blob/main/packages/schema/src/config/experimental.ts",[2058],"nofollow","source code"," for more information.",[2062,2063,2064],"note",{},[2038,2065,2066],{},"Note that these features are experimental and could be removed or modified in the future.",[2068,2069,2071],"h2",{"id":2070},"alwaysrunfetchonkeychange","alwaysRunFetchOnKeyChange",[2038,2073,2074,2075,2077,2078,2081],{},"Whether to run ",[2045,2076,527],{}," when the key changes, even if it is set to ",[2045,2079,2080],{},"immediate: false"," and it has not been triggered yet.",[2038,2083,2084,2086,2087,2089,2090,2093],{},[2045,2085,527],{}," and ",[2045,2088,515],{}," will always run when the key changes if ",[2045,2091,2092],{},"immediate: true"," or if it has been already triggered.",[2038,2095,2096],{},"This flag is disabled by default, but you can enable this feature:",[2098,2099,2105],"pre",{"className":2100,"code":2101,"filename":233,"language":2102,"meta":2103,"style":2104},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","export default defineNuxtConfig({\n  experimental: {\n    alwaysRunFetchOnKeyChange: true,\n  },\n})\n","ts","twoslash","",[2045,2106,2107,2131,2144,2159,2165],{"__ignoreMap":2104},[2108,2109,2112,2116,2119,2123,2127],"span",{"class":2110,"line":2111},"line",1,[2108,2113,2115],{"class":2114},"s8R28","export",[2108,2117,2118],{"class":2114}," default",[2108,2120,2122],{"class":2121},"s3cPz"," defineNuxtConfig",[2108,2124,2126],{"class":2125},"sZSNi","(",[2108,2128,2130],{"class":2129},"sDfIl","{\n",[2108,2132,2134,2138,2141],{"class":2110,"line":2133},2,[2108,2135,2137],{"class":2136},"sRlkE","  experimental",[2108,2139,2140],{"class":2129},":",[2108,2142,2143],{"class":2129}," {\n",[2108,2145,2147,2150,2152,2156],{"class":2110,"line":2146},3,[2108,2148,2149],{"class":2136},"    alwaysRunFetchOnKeyChange",[2108,2151,2140],{"class":2129},[2108,2153,2155],{"class":2154},"sbKd-"," true",[2108,2157,2158],{"class":2129},",\n",[2108,2160,2162],{"class":2110,"line":2161},4,[2108,2163,2164],{"class":2129},"  },\n",[2108,2166,2168,2171],{"class":2110,"line":2167},5,[2108,2169,2170],{"class":2129},"}",[2108,2172,2173],{"class":2125},")\n",[2068,2175,2177],{"id":2176},"appmanifest","appManifest",[2038,2179,2180],{},"Use app manifests to respect route rules on client-side.",[2038,2182,2183],{},"This flag is enabled by default, but you can disable this feature:",[2098,2185,2187],{"className":2100,"code":2186,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    appManifest: false,\n  },\n})\n",[2045,2188,2189,2201,2209,2221,2225],{"__ignoreMap":2104},[2108,2190,2191,2193,2195,2197,2199],{"class":2110,"line":2111},[2108,2192,2115],{"class":2114},[2108,2194,2118],{"class":2114},[2108,2196,2122],{"class":2121},[2108,2198,2126],{"class":2125},[2108,2200,2130],{"class":2129},[2108,2202,2203,2205,2207],{"class":2110,"line":2133},[2108,2204,2137],{"class":2136},[2108,2206,2140],{"class":2129},[2108,2208,2143],{"class":2129},[2108,2210,2211,2214,2216,2219],{"class":2110,"line":2146},[2108,2212,2213],{"class":2136},"    appManifest",[2108,2215,2140],{"class":2129},[2108,2217,2218],{"class":2154}," false",[2108,2220,2158],{"class":2129},[2108,2222,2223],{"class":2110,"line":2161},[2108,2224,2164],{"class":2129},[2108,2226,2227,2229],{"class":2110,"line":2167},[2108,2228,2170],{"class":2129},[2108,2230,2173],{"class":2125},[2068,2232,2234],{"id":2233},"asynccontext","asyncContext",[2038,2236,2237,2238,2241],{},"Enable native async context to be accessible for nested composables in Nuxt and in Nitro. This opens the possibility to use composables inside async composables and reduce the chance to get the ",[2045,2239,2240],{},"Nuxt instance is unavailable"," error.",[2098,2243,2245],{"className":2100,"code":2244,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    asyncContext: true,\n  },\n})\n",[2045,2246,2247,2259,2267,2278,2282],{"__ignoreMap":2104},[2108,2248,2249,2251,2253,2255,2257],{"class":2110,"line":2111},[2108,2250,2115],{"class":2114},[2108,2252,2118],{"class":2114},[2108,2254,2122],{"class":2121},[2108,2256,2126],{"class":2125},[2108,2258,2130],{"class":2129},[2108,2260,2261,2263,2265],{"class":2110,"line":2133},[2108,2262,2137],{"class":2136},[2108,2264,2140],{"class":2129},[2108,2266,2143],{"class":2129},[2108,2268,2269,2272,2274,2276],{"class":2110,"line":2146},[2108,2270,2271],{"class":2136},"    asyncContext",[2108,2273,2140],{"class":2129},[2108,2275,2155],{"class":2154},[2108,2277,2158],{"class":2129},[2108,2279,2280],{"class":2110,"line":2161},[2108,2281,2164],{"class":2129},[2108,2283,2284,2286],{"class":2110,"line":2167},[2108,2285,2170],{"class":2129},[2108,2287,2173],{"class":2125},[2289,2290,2294],"read-more",{"to":2291,"icon":2292,"target":2293},"https://github.com/nuxt/nuxt/pull/20918","i-simple-icons-github","_blank",[2038,2295,2296],{},"See full explanation on the GitHub pull-request.",[2068,2298,2300],{"id":2299},"asyncentry","asyncEntry",[2038,2302,2303],{},"Enables generation of an async entry point for the Vue bundle, aiding module federation support.",[2098,2305,2307],{"className":2100,"code":2306,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    asyncEntry: true,\n  },\n})\n",[2045,2308,2309,2321,2329,2340,2344],{"__ignoreMap":2104},[2108,2310,2311,2313,2315,2317,2319],{"class":2110,"line":2111},[2108,2312,2115],{"class":2114},[2108,2314,2118],{"class":2114},[2108,2316,2122],{"class":2121},[2108,2318,2126],{"class":2125},[2108,2320,2130],{"class":2129},[2108,2322,2323,2325,2327],{"class":2110,"line":2133},[2108,2324,2137],{"class":2136},[2108,2326,2140],{"class":2129},[2108,2328,2143],{"class":2129},[2108,2330,2331,2334,2336,2338],{"class":2110,"line":2146},[2108,2332,2333],{"class":2136},"    asyncEntry",[2108,2335,2140],{"class":2129},[2108,2337,2155],{"class":2154},[2108,2339,2158],{"class":2129},[2108,2341,2342],{"class":2110,"line":2161},[2108,2343,2164],{"class":2129},[2108,2345,2346,2348],{"class":2110,"line":2167},[2108,2347,2170],{"class":2129},[2108,2349,2173],{"class":2125},[2068,2351,2353],{"id":2352},"externalvue","externalVue",[2038,2355,2356,2357,2360,2361,2086,2364,2367],{},"Externalizes ",[2045,2358,2359],{},"vue",", ",[2045,2362,2363],{},"@vue/*",[2045,2365,2366],{},"vue-router"," when building.",[2038,2369,2183],{},[2098,2371,2373],{"className":2100,"code":2372,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    externalVue: false,\n  },\n})\n",[2045,2374,2375,2387,2395,2406,2410],{"__ignoreMap":2104},[2108,2376,2377,2379,2381,2383,2385],{"class":2110,"line":2111},[2108,2378,2115],{"class":2114},[2108,2380,2118],{"class":2114},[2108,2382,2122],{"class":2121},[2108,2384,2126],{"class":2125},[2108,2386,2130],{"class":2129},[2108,2388,2389,2391,2393],{"class":2110,"line":2133},[2108,2390,2137],{"class":2136},[2108,2392,2140],{"class":2129},[2108,2394,2143],{"class":2129},[2108,2396,2397,2400,2402,2404],{"class":2110,"line":2146},[2108,2398,2399],{"class":2136},"    externalVue",[2108,2401,2140],{"class":2129},[2108,2403,2218],{"class":2154},[2108,2405,2158],{"class":2129},[2108,2407,2408],{"class":2110,"line":2161},[2108,2409,2164],{"class":2129},[2108,2411,2412,2414],{"class":2110,"line":2167},[2108,2413,2170],{"class":2129},[2108,2415,2173],{"class":2125},[2417,2418,2419],"warning",{},[2038,2420,2421],{},"This feature will likely be removed in a near future.",[2068,2423,2425],{"id":2424},"extractasyncdatahandlers","extractAsyncDataHandlers",[2038,2427,2428,2429,2086,2431,2433],{},"Extracts handler functions from ",[2045,2430,515],{},[2045,2432,543],{}," calls into separate chunks for improved code splitting and caching efficiency.",[2098,2435,2437],{"className":2100,"code":2436,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    extractAsyncDataHandlers: true,\n  },\n})\n",[2045,2438,2439,2451,2459,2470,2474],{"__ignoreMap":2104},[2108,2440,2441,2443,2445,2447,2449],{"class":2110,"line":2111},[2108,2442,2115],{"class":2114},[2108,2444,2118],{"class":2114},[2108,2446,2122],{"class":2121},[2108,2448,2126],{"class":2125},[2108,2450,2130],{"class":2129},[2108,2452,2453,2455,2457],{"class":2110,"line":2133},[2108,2454,2137],{"class":2136},[2108,2456,2140],{"class":2129},[2108,2458,2143],{"class":2129},[2108,2460,2461,2464,2466,2468],{"class":2110,"line":2146},[2108,2462,2463],{"class":2136},"    extractAsyncDataHandlers",[2108,2465,2140],{"class":2129},[2108,2467,2155],{"class":2154},[2108,2469,2158],{"class":2129},[2108,2471,2472],{"class":2110,"line":2161},[2108,2473,2164],{"class":2129},[2108,2475,2476,2478],{"class":2110,"line":2167},[2108,2477,2170],{"class":2129},[2108,2479,2173],{"class":2125},[2038,2481,2482],{},"This feature transforms inline handler functions into dynamically imported chunks:",[2098,2484,2487],{"className":2485,"code":2486,"language":2359,"meta":2104,"style":2104},"language-vue shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003C!-- Before -->\n\u003Cscript setup>\nconst { data } = await useAsyncData('user', async () => {\n  return await $fetch('/api/user')\n})\n\u003C/script>\n",[2045,2488,2489,2495,2510,2557,2578,2584],{"__ignoreMap":2104},[2108,2490,2491],{"class":2110,"line":2111},[2108,2492,2494],{"class":2493},"sWuyu","\u003C!-- Before -->\n",[2108,2496,2497,2500,2503,2507],{"class":2110,"line":2133},[2108,2498,2499],{"class":2129},"\u003C",[2108,2501,2502],{"class":2136},"script",[2108,2504,2506],{"class":2505},"smZ93"," setup",[2108,2508,2509],{"class":2129},">\n",[2108,2511,2512,2515,2518,2521,2523,2526,2529,2532,2534,2537,2541,2543,2546,2549,2552,2555],{"class":2110,"line":2146},[2108,2513,2514],{"class":2505},"const",[2108,2516,2517],{"class":2129}," {",[2108,2519,2520],{"class":2125}," data ",[2108,2522,2170],{"class":2129},[2108,2524,2525],{"class":2129}," =",[2108,2527,2528],{"class":2114}," await",[2108,2530,2531],{"class":2121}," useAsyncData",[2108,2533,2126],{"class":2125},[2108,2535,2536],{"class":2129},"'",[2108,2538,2540],{"class":2539},"sGFVr","user",[2108,2542,2536],{"class":2129},[2108,2544,2545],{"class":2129},",",[2108,2547,2548],{"class":2505}," async",[2108,2550,2551],{"class":2129}," ()",[2108,2553,2554],{"class":2505}," =>",[2108,2556,2143],{"class":2129},[2108,2558,2559,2562,2564,2567,2569,2571,2574,2576],{"class":2110,"line":2161},[2108,2560,2561],{"class":2114},"  return",[2108,2563,2528],{"class":2114},[2108,2565,2566],{"class":2121}," $fetch",[2108,2568,2126],{"class":2136},[2108,2570,2536],{"class":2129},[2108,2572,2573],{"class":2539},"/api/user",[2108,2575,2536],{"class":2129},[2108,2577,2173],{"class":2136},[2108,2579,2580,2582],{"class":2110,"line":2167},[2108,2581,2170],{"class":2129},[2108,2583,2173],{"class":2125},[2108,2585,2587,2590,2592],{"class":2110,"line":2586},6,[2108,2588,2589],{"class":2129},"\u003C/",[2108,2591,2502],{"class":2136},[2108,2593,2509],{"class":2129},[2098,2595,2597],{"className":2485,"code":2596,"language":2359,"meta":2104,"style":2104},"\u003C!-- After transformation -->\n\u003Cscript setup>\nconst { data } = await useAsyncData('user', () =>\n  import('/generated-chunk.js').then(r => r.default()),\n)\n\u003C/script>\n",[2045,2598,2599,2604,2614,2645,2689,2693],{"__ignoreMap":2104},[2108,2600,2601],{"class":2110,"line":2111},[2108,2602,2603],{"class":2493},"\u003C!-- After transformation -->\n",[2108,2605,2606,2608,2610,2612],{"class":2110,"line":2133},[2108,2607,2499],{"class":2129},[2108,2609,2502],{"class":2136},[2108,2611,2506],{"class":2505},[2108,2613,2509],{"class":2129},[2108,2615,2616,2618,2620,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642],{"class":2110,"line":2146},[2108,2617,2514],{"class":2505},[2108,2619,2517],{"class":2129},[2108,2621,2520],{"class":2125},[2108,2623,2170],{"class":2129},[2108,2625,2525],{"class":2129},[2108,2627,2528],{"class":2114},[2108,2629,2531],{"class":2121},[2108,2631,2126],{"class":2125},[2108,2633,2536],{"class":2129},[2108,2635,2540],{"class":2539},[2108,2637,2536],{"class":2129},[2108,2639,2545],{"class":2129},[2108,2641,2551],{"class":2129},[2108,2643,2644],{"class":2505}," =>\n",[2108,2646,2647,2650,2652,2654,2657,2659,2662,2665,2668,2670,2674,2676,2679,2681,2684,2687],{"class":2110,"line":2161},[2108,2648,2649],{"class":2129},"  import",[2108,2651,2126],{"class":2125},[2108,2653,2536],{"class":2129},[2108,2655,2656],{"class":2539},"/generated-chunk.js",[2108,2658,2536],{"class":2129},[2108,2660,2661],{"class":2125},")",[2108,2663,2664],{"class":2129},".",[2108,2666,2667],{"class":2121},"then",[2108,2669,2126],{"class":2125},[2108,2671,2673],{"class":2672},"s1nJG","r",[2108,2675,2554],{"class":2505},[2108,2677,2678],{"class":2125}," r",[2108,2680,2664],{"class":2129},[2108,2682,2683],{"class":2121},"default",[2108,2685,2686],{"class":2125},"())",[2108,2688,2158],{"class":2129},[2108,2690,2691],{"class":2110,"line":2167},[2108,2692,2173],{"class":2125},[2108,2694,2695,2697,2699],{"class":2110,"line":2586},[2108,2696,2589],{"class":2129},[2108,2698,2502],{"class":2136},[2108,2700,2509],{"class":2129},[2038,2702,2703],{},"The benefit of this transformation is that we can split out data fetching logic — while still allowing the code to be loaded if required.",[2705,2706,2707],"important",{},[2038,2708,2709,2710,2714],{},"This feature is only recommended for ",[2711,2712,2713],"strong",{},"static builds"," with payload extraction, and where data does not need to be re-fetched at runtime.",[2068,2716,2718],{"id":2717},"emitroutechunkerror","emitRouteChunkError",[2038,2720,2721,2722,2725],{},"Emits ",[2045,2723,2724],{},"app:chunkError"," hook when there is an error loading vite/webpack chunks. Default behavior is to perform a reload of the new route on navigation to a new route when a chunk fails to load.",[2038,2727,2728,2729,2732],{},"By default, Nuxt will also perform a reload of the new route when a chunk fails to load when navigating to a new route (",[2045,2730,2731],{},"automatic",").",[2038,2734,2735,2736,2739,2740,2744],{},"Setting ",[2045,2737,2738],{},"automatic-immediate"," will lead Nuxt to perform a reload of the current route right when a chunk fails to load (instead of waiting for navigation). This is useful for chunk errors that are not triggered by navigation, e.g., when your Nuxt app fails to load a ",[2050,2741,2743],{"href":2742},"/docs/4.x/directory-structure/app/components#dynamic-imports","lazy component",". A potential downside of this behavior is undesired reloads, e.g., when your app does not need the chunk that caused the error.",[2038,2746,2747,2748,2751,2752,2664],{},"You can disable automatic handling by setting this to ",[2045,2749,2750],{},"false",", or handle chunk errors manually by setting it to ",[2045,2753,2754],{},"manual",[2098,2756,2758],{"className":2100,"code":2757,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    emitRouteChunkError: 'automatic', // or 'automatic-immediate', 'manual' or false\n  },\n})\n",[2045,2759,2760,2772,2780,2799,2803],{"__ignoreMap":2104},[2108,2761,2762,2764,2766,2768,2770],{"class":2110,"line":2111},[2108,2763,2115],{"class":2114},[2108,2765,2118],{"class":2114},[2108,2767,2122],{"class":2121},[2108,2769,2126],{"class":2125},[2108,2771,2130],{"class":2129},[2108,2773,2774,2776,2778],{"class":2110,"line":2133},[2108,2775,2137],{"class":2136},[2108,2777,2140],{"class":2129},[2108,2779,2143],{"class":2129},[2108,2781,2782,2785,2787,2790,2792,2794,2796],{"class":2110,"line":2146},[2108,2783,2784],{"class":2136},"    emitRouteChunkError",[2108,2786,2140],{"class":2129},[2108,2788,2789],{"class":2129}," '",[2108,2791,2731],{"class":2539},[2108,2793,2536],{"class":2129},[2108,2795,2545],{"class":2129},[2108,2797,2798],{"class":2493}," // or 'automatic-immediate', 'manual' or false\n",[2108,2800,2801],{"class":2110,"line":2161},[2108,2802,2164],{"class":2129},[2108,2804,2805,2807],{"class":2110,"line":2167},[2108,2806,2170],{"class":2129},[2108,2808,2173],{"class":2125},[2068,2810,2812],{"id":2811},"enforcemodulecompatibility","enforceModuleCompatibility",[2038,2814,2815],{},"Whether Nuxt should throw an error (and fail to load) if a Nuxt module is incompatible.",[2038,2817,2818],{},"This feature is disabled by default.",[2098,2820,2822],{"className":2100,"code":2821,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    enforceModuleCompatibility: true,\n  },\n})\n",[2045,2823,2824,2836,2844,2855,2859],{"__ignoreMap":2104},[2108,2825,2826,2828,2830,2832,2834],{"class":2110,"line":2111},[2108,2827,2115],{"class":2114},[2108,2829,2118],{"class":2114},[2108,2831,2122],{"class":2121},[2108,2833,2126],{"class":2125},[2108,2835,2130],{"class":2129},[2108,2837,2838,2840,2842],{"class":2110,"line":2133},[2108,2839,2137],{"class":2136},[2108,2841,2140],{"class":2129},[2108,2843,2143],{"class":2129},[2108,2845,2846,2849,2851,2853],{"class":2110,"line":2146},[2108,2847,2848],{"class":2136},"    enforceModuleCompatibility",[2108,2850,2140],{"class":2129},[2108,2852,2155],{"class":2154},[2108,2854,2158],{"class":2129},[2108,2856,2857],{"class":2110,"line":2161},[2108,2858,2164],{"class":2129},[2108,2860,2861,2863],{"class":2110,"line":2167},[2108,2862,2170],{"class":2129},[2108,2864,2173],{"class":2125},[2068,2866,2868],{"id":2867},"restorestate","restoreState",[2038,2870,2871,2872,2875,2876,2881],{},"Allows Nuxt app state to be restored from ",[2045,2873,2874],{},"sessionStorage"," when reloading the page after a chunk error or manual ",[2050,2877,2878],{"href":1632},[2045,2879,2880],{},"reloadNuxtApp()"," call.",[2038,2883,2884],{},"To avoid hydration errors, it will be applied only after the Vue app has been mounted, meaning there may be a flicker on initial load.",[2705,2886,2887],{},[2038,2888,2889,2890,2894],{},"Consider carefully before enabling this as it can cause unexpected behavior,\nand consider providing explicit keys to ",[2050,2891,2892],{"href":1553},[2045,2893,619],{}," as auto-generated keys may not match across builds.",[2098,2896,2898],{"className":2100,"code":2897,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    restoreState: true,\n  },\n})\n",[2045,2899,2900,2912,2920,2931,2935],{"__ignoreMap":2104},[2108,2901,2902,2904,2906,2908,2910],{"class":2110,"line":2111},[2108,2903,2115],{"class":2114},[2108,2905,2118],{"class":2114},[2108,2907,2122],{"class":2121},[2108,2909,2126],{"class":2125},[2108,2911,2130],{"class":2129},[2108,2913,2914,2916,2918],{"class":2110,"line":2133},[2108,2915,2137],{"class":2136},[2108,2917,2140],{"class":2129},[2108,2919,2143],{"class":2129},[2108,2921,2922,2925,2927,2929],{"class":2110,"line":2146},[2108,2923,2924],{"class":2136},"    restoreState",[2108,2926,2140],{"class":2129},[2108,2928,2155],{"class":2154},[2108,2930,2158],{"class":2129},[2108,2932,2933],{"class":2110,"line":2161},[2108,2934,2164],{"class":2129},[2108,2936,2937,2939],{"class":2110,"line":2167},[2108,2938,2170],{"class":2129},[2108,2940,2173],{"class":2125},[2068,2942,2944],{"id":2943},"inlinerouterules","inlineRouteRules",[2038,2946,2947,2948,2664],{},"Define route rules at the page level using ",[2050,2949,2950],{"href":1599},[2045,2951,682],{},[2098,2953,2955],{"className":2100,"code":2954,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    inlineRouteRules: true,\n  },\n})\n",[2045,2956,2957,2969,2977,2988,2992],{"__ignoreMap":2104},[2108,2958,2959,2961,2963,2965,2967],{"class":2110,"line":2111},[2108,2960,2115],{"class":2114},[2108,2962,2118],{"class":2114},[2108,2964,2122],{"class":2121},[2108,2966,2126],{"class":2125},[2108,2968,2130],{"class":2129},[2108,2970,2971,2973,2975],{"class":2110,"line":2133},[2108,2972,2137],{"class":2136},[2108,2974,2140],{"class":2129},[2108,2976,2143],{"class":2129},[2108,2978,2979,2982,2984,2986],{"class":2110,"line":2146},[2108,2980,2981],{"class":2136},"    inlineRouteRules",[2108,2983,2140],{"class":2129},[2108,2985,2155],{"class":2154},[2108,2987,2158],{"class":2129},[2108,2989,2990],{"class":2110,"line":2161},[2108,2991,2164],{"class":2129},[2108,2993,2994,2996],{"class":2110,"line":2167},[2108,2995,2170],{"class":2129},[2108,2997,2173],{"class":2125},[2038,2999,3000,3001,2664],{},"Matching route rules will be created, based on the page's ",[2045,3002,3003],{},"path",[2289,3005,3006],{"to":1599,"icon":625},[2038,3007,3008,3009,3011],{},"Read more in ",[2045,3010,682],{}," utility.",[2289,3013],{"to":3014,"icon":255},"/docs/4.x/guide/concepts/rendering#hybrid-rendering",[2068,3016,3018],{"id":3017},"renderjsonpayloads","renderJsonPayloads",[2038,3020,3021],{},"Allows rendering of JSON payloads with support for revivifying complex types.",[2038,3023,2183],{},[2098,3025,3027],{"className":2100,"code":3026,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    renderJsonPayloads: false,\n  },\n})\n",[2045,3028,3029,3041,3049,3060,3064],{"__ignoreMap":2104},[2108,3030,3031,3033,3035,3037,3039],{"class":2110,"line":2111},[2108,3032,2115],{"class":2114},[2108,3034,2118],{"class":2114},[2108,3036,2122],{"class":2121},[2108,3038,2126],{"class":2125},[2108,3040,2130],{"class":2129},[2108,3042,3043,3045,3047],{"class":2110,"line":2133},[2108,3044,2137],{"class":2136},[2108,3046,2140],{"class":2129},[2108,3048,2143],{"class":2129},[2108,3050,3051,3054,3056,3058],{"class":2110,"line":2146},[2108,3052,3053],{"class":2136},"    renderJsonPayloads",[2108,3055,2140],{"class":2129},[2108,3057,2218],{"class":2154},[2108,3059,2158],{"class":2129},[2108,3061,3062],{"class":2110,"line":2161},[2108,3063,2164],{"class":2129},[2108,3065,3066,3068],{"class":2110,"line":2167},[2108,3067,2170],{"class":2129},[2108,3069,2173],{"class":2125},[2068,3071,3073],{"id":3072},"novueserver","noVueServer",[2038,3075,3076],{},"Disables Vue server renderer endpoint within Nitro.",[2098,3078,3080],{"className":2100,"code":3079,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    noVueServer: true,\n  },\n})\n",[2045,3081,3082,3094,3102,3113,3117],{"__ignoreMap":2104},[2108,3083,3084,3086,3088,3090,3092],{"class":2110,"line":2111},[2108,3085,2115],{"class":2114},[2108,3087,2118],{"class":2114},[2108,3089,2122],{"class":2121},[2108,3091,2126],{"class":2125},[2108,3093,2130],{"class":2129},[2108,3095,3096,3098,3100],{"class":2110,"line":2133},[2108,3097,2137],{"class":2136},[2108,3099,2140],{"class":2129},[2108,3101,2143],{"class":2129},[2108,3103,3104,3107,3109,3111],{"class":2110,"line":2146},[2108,3105,3106],{"class":2136},"    noVueServer",[2108,3108,2140],{"class":2129},[2108,3110,2155],{"class":2154},[2108,3112,2158],{"class":2129},[2108,3114,3115],{"class":2110,"line":2161},[2108,3116,2164],{"class":2129},[2108,3118,3119,3121],{"class":2110,"line":2167},[2108,3120,2170],{"class":2129},[2108,3122,2173],{"class":2125},[2068,3124,3126],{"id":3125},"parseerrordata","parseErrorData",[2038,3128,3129,3130,3133],{},"Whether to parse ",[2045,3131,3132],{},"error.data"," when rendering a server error page.",[2038,3135,2183],{},[2098,3137,3139],{"className":2100,"code":3138,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    parseErrorData: false,\n  },\n})\n",[2045,3140,3141,3153,3161,3172,3176],{"__ignoreMap":2104},[2108,3142,3143,3145,3147,3149,3151],{"class":2110,"line":2111},[2108,3144,2115],{"class":2114},[2108,3146,2118],{"class":2114},[2108,3148,2122],{"class":2121},[2108,3150,2126],{"class":2125},[2108,3152,2130],{"class":2129},[2108,3154,3155,3157,3159],{"class":2110,"line":2133},[2108,3156,2137],{"class":2136},[2108,3158,2140],{"class":2129},[2108,3160,2143],{"class":2129},[2108,3162,3163,3166,3168,3170],{"class":2110,"line":2146},[2108,3164,3165],{"class":2136},"    parseErrorData",[2108,3167,2140],{"class":2129},[2108,3169,2218],{"class":2154},[2108,3171,2158],{"class":2129},[2108,3173,3174],{"class":2110,"line":2161},[2108,3175,2164],{"class":2129},[2108,3177,3178,3180],{"class":2110,"line":2167},[2108,3179,2170],{"class":2129},[2108,3181,2173],{"class":2125},[2068,3183,3185],{"id":3184},"payloadextraction","payloadExtraction",[2038,3187,3188,3189,2664],{},"Enables extraction of payloads of pages generated with ",[2045,3190,781],{},[2098,3192,3194],{"className":2100,"code":3193,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    payloadExtraction: true,\n  },\n})\n",[2045,3195,3196,3208,3216,3227,3231],{"__ignoreMap":2104},[2108,3197,3198,3200,3202,3204,3206],{"class":2110,"line":2111},[2108,3199,2115],{"class":2114},[2108,3201,2118],{"class":2114},[2108,3203,2122],{"class":2121},[2108,3205,2126],{"class":2125},[2108,3207,2130],{"class":2129},[2108,3209,3210,3212,3214],{"class":2110,"line":2133},[2108,3211,2137],{"class":2136},[2108,3213,2140],{"class":2129},[2108,3215,2143],{"class":2129},[2108,3217,3218,3221,3223,3225],{"class":2110,"line":2146},[2108,3219,3220],{"class":2136},"    payloadExtraction",[2108,3222,2140],{"class":2129},[2108,3224,2155],{"class":2154},[2108,3226,2158],{"class":2129},[2108,3228,3229],{"class":2110,"line":2161},[2108,3230,2164],{"class":2129},[2108,3232,3233,3235],{"class":2110,"line":2167},[2108,3234,2170],{"class":2129},[2108,3236,2173],{"class":2125},[2038,3238,3239],{},"Payload extraction also works for routes using ISR (Incremental Static Regeneration) or SWR (Stale-While-Revalidate) caching strategies. This allows CDNs to cache payload files alongside HTML, improving client-side navigation performance for cached routes.",[2098,3241,3243],{"className":2100,"code":3242,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    payloadExtraction: true,\n  },\n  routeRules: {\n    // Payload files will be generated for these cached routes\n    '/products/**': { isr: 3600 },\n    '/blog/**': { swr: true },\n  },\n})\n",[2045,3244,3245,3257,3265,3275,3279,3288,3293,3320,3343,3348],{"__ignoreMap":2104},[2108,3246,3247,3249,3251,3253,3255],{"class":2110,"line":2111},[2108,3248,2115],{"class":2114},[2108,3250,2118],{"class":2114},[2108,3252,2122],{"class":2121},[2108,3254,2126],{"class":2125},[2108,3256,2130],{"class":2129},[2108,3258,3259,3261,3263],{"class":2110,"line":2133},[2108,3260,2137],{"class":2136},[2108,3262,2140],{"class":2129},[2108,3264,2143],{"class":2129},[2108,3266,3267,3269,3271,3273],{"class":2110,"line":2146},[2108,3268,3220],{"class":2136},[2108,3270,2140],{"class":2129},[2108,3272,2155],{"class":2154},[2108,3274,2158],{"class":2129},[2108,3276,3277],{"class":2110,"line":2161},[2108,3278,2164],{"class":2129},[2108,3280,3281,3284,3286],{"class":2110,"line":2167},[2108,3282,3283],{"class":2136},"  routeRules",[2108,3285,2140],{"class":2129},[2108,3287,2143],{"class":2129},[2108,3289,3290],{"class":2110,"line":2586},[2108,3291,3292],{"class":2493},"    // Payload files will be generated for these cached routes\n",[2108,3294,3296,3299,3302,3304,3306,3308,3311,3313,3317],{"class":2110,"line":3295},7,[2108,3297,3298],{"class":2129},"    '",[2108,3300,3301],{"class":2136},"/products/**",[2108,3303,2536],{"class":2129},[2108,3305,2140],{"class":2129},[2108,3307,2517],{"class":2129},[2108,3309,3310],{"class":2136}," isr",[2108,3312,2140],{"class":2129},[2108,3314,3316],{"class":3315},"sYRBq"," 3600",[2108,3318,3319],{"class":2129}," },\n",[2108,3321,3323,3325,3328,3330,3332,3334,3337,3339,3341],{"class":2110,"line":3322},8,[2108,3324,3298],{"class":2129},[2108,3326,3327],{"class":2136},"/blog/**",[2108,3329,2536],{"class":2129},[2108,3331,2140],{"class":2129},[2108,3333,2517],{"class":2129},[2108,3335,3336],{"class":2136}," swr",[2108,3338,2140],{"class":2129},[2108,3340,2155],{"class":2154},[2108,3342,3319],{"class":2129},[2108,3344,3346],{"class":2110,"line":3345},9,[2108,3347,2164],{"class":2129},[2108,3349,3351,3353],{"class":2110,"line":3350},10,[2108,3352,2170],{"class":2129},[2108,3354,2173],{"class":2125},[2068,3356,3358],{"id":3357},"clientfallback","clientFallback",[2038,3360,3361,3362,3366],{},"Enables the experimental ",[2050,3363,3364],{"href":1418},[2045,3365,448],{}," component for rendering content on the client if there's an error in SSR.",[2098,3368,3370],{"className":2100,"code":3369,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    clientFallback: true,\n  },\n})\n",[2045,3371,3372,3384,3392,3403,3407],{"__ignoreMap":2104},[2108,3373,3374,3376,3378,3380,3382],{"class":2110,"line":2111},[2108,3375,2115],{"class":2114},[2108,3377,2118],{"class":2114},[2108,3379,2122],{"class":2121},[2108,3381,2126],{"class":2125},[2108,3383,2130],{"class":2129},[2108,3385,3386,3388,3390],{"class":2110,"line":2133},[2108,3387,2137],{"class":2136},[2108,3389,2140],{"class":2129},[2108,3391,2143],{"class":2129},[2108,3393,3394,3397,3399,3401],{"class":2110,"line":2146},[2108,3395,3396],{"class":2136},"    clientFallback",[2108,3398,2140],{"class":2129},[2108,3400,2155],{"class":2154},[2108,3402,2158],{"class":2129},[2108,3404,3405],{"class":2110,"line":2161},[2108,3406,2164],{"class":2129},[2108,3408,3409,3411],{"class":2110,"line":2167},[2108,3410,2170],{"class":2129},[2108,3412,2173],{"class":2125},[2068,3414,3416],{"id":3415},"crossoriginprefetch","crossOriginPrefetch",[2038,3418,3419],{},"Enables cross-origin prefetch using the Speculation Rules API.",[2098,3421,3423],{"className":2100,"code":3422,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    crossOriginPrefetch: true,\n  },\n})\n",[2045,3424,3425,3437,3445,3456,3460],{"__ignoreMap":2104},[2108,3426,3427,3429,3431,3433,3435],{"class":2110,"line":2111},[2108,3428,2115],{"class":2114},[2108,3430,2118],{"class":2114},[2108,3432,2122],{"class":2121},[2108,3434,2126],{"class":2125},[2108,3436,2130],{"class":2129},[2108,3438,3439,3441,3443],{"class":2110,"line":2133},[2108,3440,2137],{"class":2136},[2108,3442,2140],{"class":2129},[2108,3444,2143],{"class":2129},[2108,3446,3447,3450,3452,3454],{"class":2110,"line":2146},[2108,3448,3449],{"class":2136},"    crossOriginPrefetch",[2108,3451,2140],{"class":2129},[2108,3453,2155],{"class":2154},[2108,3455,2158],{"class":2129},[2108,3457,3458],{"class":2110,"line":2161},[2108,3459,2164],{"class":2129},[2108,3461,3462,3464],{"class":2110,"line":2167},[2108,3463,2170],{"class":2129},[2108,3465,2173],{"class":2125},[2289,3467,3470],{"to":3468,"icon":3469,"target":2293},"https://wicg.github.io/nav-speculation/prefetch.html","i-simple-icons-w3c",[2038,3471,3472,3473,2664],{},"Read more about the ",[2711,3474,3475],{},"Speculation Rules API",[2068,3477,3479],{"id":3478},"viewtransition","viewTransition",[2038,3481,3482],{},"Enables View Transition API integration with client-side router.",[2098,3484,3486],{"className":2100,"code":3485,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    viewTransition: true,\n  },\n})\n",[2045,3487,3488,3500,3508,3519,3523],{"__ignoreMap":2104},[2108,3489,3490,3492,3494,3496,3498],{"class":2110,"line":2111},[2108,3491,2115],{"class":2114},[2108,3493,2118],{"class":2114},[2108,3495,2122],{"class":2121},[2108,3497,2126],{"class":2125},[2108,3499,2130],{"class":2129},[2108,3501,3502,3504,3506],{"class":2110,"line":2133},[2108,3503,2137],{"class":2136},[2108,3505,2140],{"class":2129},[2108,3507,2143],{"class":2129},[2108,3509,3510,3513,3515,3517],{"class":2110,"line":2146},[2108,3511,3512],{"class":2136},"    viewTransition",[2108,3514,2140],{"class":2129},[2108,3516,2155],{"class":2154},[2108,3518,2158],{"class":2129},[2108,3520,3521],{"class":2110,"line":2161},[2108,3522,2164],{"class":2129},[2108,3524,3525,3527],{"class":2110,"line":2167},[2108,3526,2170],{"class":2129},[2108,3528,2173],{"class":2125},[3530,3531],"link-example",{"target":2293,"to":3532},"https://stackblitz.com/edit/nuxt-view-transitions?file=app.vue",[2289,3534,3537],{"to":3535,"icon":3536,"target":2293},"https://developer.mozilla.org/en-US/docs/Web/API/View_Transition_API","i-simple-icons-mdnwebdocs",[2038,3538,3472,3539,2664],{},[2711,3540,3541],{},"View Transition API",[2068,3543,3545],{"id":3544},"writeearlyhints","writeEarlyHints",[2038,3547,3548],{},"Enables writing of early hints when using node server.",[2098,3550,3552],{"className":2100,"code":3551,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    writeEarlyHints: true,\n  },\n})\n",[2045,3553,3554,3566,3574,3585,3589],{"__ignoreMap":2104},[2108,3555,3556,3558,3560,3562,3564],{"class":2110,"line":2111},[2108,3557,2115],{"class":2114},[2108,3559,2118],{"class":2114},[2108,3561,2122],{"class":2121},[2108,3563,2126],{"class":2125},[2108,3565,2130],{"class":2129},[2108,3567,3568,3570,3572],{"class":2110,"line":2133},[2108,3569,2137],{"class":2136},[2108,3571,2140],{"class":2129},[2108,3573,2143],{"class":2129},[2108,3575,3576,3579,3581,3583],{"class":2110,"line":2146},[2108,3577,3578],{"class":2136},"    writeEarlyHints",[2108,3580,2140],{"class":2129},[2108,3582,2155],{"class":2154},[2108,3584,2158],{"class":2129},[2108,3586,3587],{"class":2110,"line":2161},[2108,3588,2164],{"class":2129},[2108,3590,3591,3593],{"class":2110,"line":2167},[2108,3592,2170],{"class":2129},[2108,3594,2173],{"class":2125},[2068,3596,3598],{"id":3597},"componentislands","componentIslands",[2038,3600,3601,3602,2086,3606,3609],{},"Enables experimental component islands support with ",[2050,3603,3604],{"href":1455},[2045,3605,492],{},[2045,3607,3608],{},".island.vue"," files.",[2098,3611,3613],{"className":2100,"code":3612,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    componentIslands: true, // false or 'local+remote'\n  },\n})\n",[2045,3614,3615,3627,3635,3649,3653],{"__ignoreMap":2104},[2108,3616,3617,3619,3621,3623,3625],{"class":2110,"line":2111},[2108,3618,2115],{"class":2114},[2108,3620,2118],{"class":2114},[2108,3622,2122],{"class":2121},[2108,3624,2126],{"class":2125},[2108,3626,2130],{"class":2129},[2108,3628,3629,3631,3633],{"class":2110,"line":2133},[2108,3630,2137],{"class":2136},[2108,3632,2140],{"class":2129},[2108,3634,2143],{"class":2129},[2108,3636,3637,3640,3642,3644,3646],{"class":2110,"line":2146},[2108,3638,3639],{"class":2136},"    componentIslands",[2108,3641,2140],{"class":2129},[2108,3643,2155],{"class":2154},[2108,3645,2545],{"class":2129},[2108,3647,3648],{"class":2493}," // false or 'local+remote'\n",[2108,3650,3651],{"class":2110,"line":2161},[2108,3652,2164],{"class":2129},[2108,3654,3655,3657],{"class":2110,"line":2167},[2108,3656,2170],{"class":2129},[2108,3658,2173],{"class":2125},[2289,3660],{"to":3661},"/docs/4.x/directory-structure/app/components#server-components",[2289,3663,3665],{"to":3664,"icon":2292,"target":2293},"https://github.com/nuxt/nuxt/issues/19772",[2038,3666,3667],{},"You can follow the server components roadmap on GitHub.",[2068,3669,3671],{"id":3670},"locallayeraliases","localLayerAliases",[2038,3673,3674,3675,2360,3678,2360,3681,2086,3684,3687],{},"Resolve ",[2045,3676,3677],{},"~",[2045,3679,3680],{},"~~",[2045,3682,3683],{},"@",[2045,3685,3686],{},"@@"," aliases located within layers with respect to their layer source and root directories.",[2038,3689,2183],{},[2098,3691,3693],{"className":2100,"code":3692,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    localLayerAliases: false,\n  },\n})\n",[2045,3694,3695,3707,3715,3726,3730],{"__ignoreMap":2104},[2108,3696,3697,3699,3701,3703,3705],{"class":2110,"line":2111},[2108,3698,2115],{"class":2114},[2108,3700,2118],{"class":2114},[2108,3702,2122],{"class":2121},[2108,3704,2126],{"class":2125},[2108,3706,2130],{"class":2129},[2108,3708,3709,3711,3713],{"class":2110,"line":2133},[2108,3710,2137],{"class":2136},[2108,3712,2140],{"class":2129},[2108,3714,2143],{"class":2129},[2108,3716,3717,3720,3722,3724],{"class":2110,"line":2146},[2108,3718,3719],{"class":2136},"    localLayerAliases",[2108,3721,2140],{"class":2129},[2108,3723,2218],{"class":2154},[2108,3725,2158],{"class":2129},[2108,3727,3728],{"class":2110,"line":2161},[2108,3729,2164],{"class":2129},[2108,3731,3732,3734],{"class":2110,"line":2167},[2108,3733,2170],{"class":2129},[2108,3735,2173],{"class":2125},[2068,3737,3739],{"id":3738},"typedpages","typedPages",[2038,3741,3742,3743,2664],{},"Enable the new experimental typed router using ",[2050,3744,3747],{"href":3745,"rel":3746},"https://github.com/posva/unplugin-vue-router",[2058],[2045,3748,3749],{},"unplugin-vue-router",[2098,3751,3753],{"className":2100,"code":3752,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    typedPages: true,\n  },\n})\n",[2045,3754,3755,3767,3775,3786,3790],{"__ignoreMap":2104},[2108,3756,3757,3759,3761,3763,3765],{"class":2110,"line":2111},[2108,3758,2115],{"class":2114},[2108,3760,2118],{"class":2114},[2108,3762,2122],{"class":2121},[2108,3764,2126],{"class":2125},[2108,3766,2130],{"class":2129},[2108,3768,3769,3771,3773],{"class":2110,"line":2133},[2108,3770,2137],{"class":2136},[2108,3772,2140],{"class":2129},[2108,3774,2143],{"class":2129},[2108,3776,3777,3780,3782,3784],{"class":2110,"line":2146},[2108,3778,3779],{"class":2136},"    typedPages",[2108,3781,2140],{"class":2129},[2108,3783,2155],{"class":2154},[2108,3785,2158],{"class":2129},[2108,3787,3788],{"class":2110,"line":2161},[2108,3789,2164],{"class":2129},[2108,3791,3792,3794],{"class":2110,"line":2167},[2108,3793,2170],{"class":2129},[2108,3795,2173],{"class":2125},[2038,3797,3798,3799,2360,3803,2360,3807,3812],{},"Out of the box, this will enable typed usage of ",[2050,3800,3801],{"href":1602},[2045,3802,686],{},[2050,3804,3805],{"href":1443},[2045,3806,476],{},[2050,3808,3809],{"href":1538},[2045,3810,3811],{},"router.push()"," and more.",[2038,3814,3815,3816,2664],{},"You can even get typed params within a page by using ",[2045,3817,3818],{},"const route = useRoute('route-name')",[2705,3820,3821,3839],{},[2038,3822,3823,3824,3827,3828,3831,3832,3834,3835,3838],{},"If you use ",[2045,3825,3826],{},"pnpm"," without ",[2045,3829,3830],{},"shamefully-hoist=true",", you will need to add ",[2045,3833,3749],{}," as a hoist pattern in your ",[2045,3836,3837],{},"pnpm-workspace.yaml"," in order for this feature to work.",[2098,3840,3844],{"className":3841,"code":3842,"language":3843,"meta":2104,"style":2104},"language-yaml shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","publicHoistPattern:\n  - \"unplugin-vue-router\"\n","yaml",[2045,3845,3846,3854],{"__ignoreMap":2104},[2108,3847,3848,3851],{"class":2110,"line":2111},[2108,3849,3850],{"class":2136},"publicHoistPattern",[2108,3852,3853],{"class":2129},":\n",[2108,3855,3856,3859,3862,3864],{"class":2110,"line":2133},[2108,3857,3858],{"class":2129},"  -",[2108,3860,3861],{"class":2129}," \"",[2108,3863,3749],{"class":2539},[2108,3865,3866],{"class":2129},"\"\n",[3868,3869],"video-accordion",{"title":3870,"video-id":3871},"Watch a video from Daniel Roe explaining type-safe routing in Nuxt","SXk-L19gTZk",[2068,3873,3874],{"id":3874},"watcher",[2038,3876,3877],{},"Set an alternative watcher that will be used as the watching service for Nuxt.",[2038,3879,3880,3881,3884,3885,2086,3887,3890],{},"Nuxt uses ",[2045,3882,3883],{},"chokidar-granular"," by default, which will ignore top-level directories\n(like ",[2045,3886,166],{},[2045,3888,3889],{},".git",") that are excluded from watching.",[2038,3892,3893,3894,3897,3898,3901],{},"You can set this instead to ",[2045,3895,3896],{},"parcel"," to use ",[2045,3899,3900],{},"@parcel/watcher",", which may improve\nperformance in large projects or on Windows platforms.",[2038,3903,3904,3905,3908],{},"You can also set this to ",[2045,3906,3907],{},"chokidar"," to watch all files in your source directory.",[2098,3910,3912],{"className":2100,"code":3911,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    watcher: 'chokidar-granular', // 'chokidar' or 'parcel' are also options\n  },\n})\n",[2045,3913,3914,3926,3934,3952,3956],{"__ignoreMap":2104},[2108,3915,3916,3918,3920,3922,3924],{"class":2110,"line":2111},[2108,3917,2115],{"class":2114},[2108,3919,2118],{"class":2114},[2108,3921,2122],{"class":2121},[2108,3923,2126],{"class":2125},[2108,3925,2130],{"class":2129},[2108,3927,3928,3930,3932],{"class":2110,"line":2133},[2108,3929,2137],{"class":2136},[2108,3931,2140],{"class":2129},[2108,3933,2143],{"class":2129},[2108,3935,3936,3939,3941,3943,3945,3947,3949],{"class":2110,"line":2146},[2108,3937,3938],{"class":2136},"    watcher",[2108,3940,2140],{"class":2129},[2108,3942,2789],{"class":2129},[2108,3944,3883],{"class":2539},[2108,3946,2536],{"class":2129},[2108,3948,2545],{"class":2129},[2108,3950,3951],{"class":2493}," // 'chokidar' or 'parcel' are also options\n",[2108,3953,3954],{"class":2110,"line":2161},[2108,3955,2164],{"class":2129},[2108,3957,3958,3960],{"class":2110,"line":2167},[2108,3959,2170],{"class":2129},[2108,3961,2173],{"class":2125},[2068,3963,3965],{"id":3964},"sharedprerenderdata","sharedPrerenderData",[2038,3967,3968,3969,3973,3974,3976,3977,3979],{},"Nuxt automatically shares payload ",[3970,3971,3972],"em",{},"data"," between pages that are prerendered. This can result in a significant performance improvement when prerendering sites that use ",[2045,3975,515],{}," or ",[2045,3978,527],{}," and fetch the same data in different pages.",[2038,3981,3982],{},"You can disable this feature if needed.",[2098,3984,3986],{"className":2100,"code":3985,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    sharedPrerenderData: false,\n  },\n})\n",[2045,3987,3988,4000,4008,4019,4023],{"__ignoreMap":2104},[2108,3989,3990,3992,3994,3996,3998],{"class":2110,"line":2111},[2108,3991,2115],{"class":2114},[2108,3993,2118],{"class":2114},[2108,3995,2122],{"class":2121},[2108,3997,2126],{"class":2125},[2108,3999,2130],{"class":2129},[2108,4001,4002,4004,4006],{"class":2110,"line":2133},[2108,4003,2137],{"class":2136},[2108,4005,2140],{"class":2129},[2108,4007,2143],{"class":2129},[2108,4009,4010,4013,4015,4017],{"class":2110,"line":2146},[2108,4011,4012],{"class":2136},"    sharedPrerenderData",[2108,4014,2140],{"class":2129},[2108,4016,2218],{"class":2154},[2108,4018,2158],{"class":2129},[2108,4020,4021],{"class":2110,"line":2161},[2108,4022,2164],{"class":2129},[2108,4024,4025,4027],{"class":2110,"line":2167},[2108,4026,2170],{"class":2129},[2108,4028,2173],{"class":2125},[3868,4030],{"title":4031,"video-id":4032},"Watch a video from Alexander Lichter about the experimental sharedPrerenderData","1jUupYHVvrU",[2038,4034,4035,4036,4038,4039,4041],{},"It is particularly important when enabling this feature to make sure that any unique key of your data\nis always resolvable to the same data. For example, if you are using ",[2045,4037,515],{}," to fetch\ndata related to a particular page, you should provide a key that uniquely matches that data. (",[2045,4040,527],{},"\nshould do this automatically for you.)",[2098,4043,4045],{"className":2100,"code":4044,"language":2102,"meta":2104,"style":2104},"// This would be unsafe in a dynamic page (e.g. `[slug].vue`) because the route slug makes a difference\n// to the data fetched, but Nuxt can't know that because it's not reflected in the key.\nconst route = useRoute()\nconst { data } = await useAsyncData(async (_nuxtApp, { signal }) => {\n  return await $fetch(`/api/my-page/${route.params.slug}`, { signal })\n})\n// Instead, you should use a key that uniquely identifies the data fetched.\nconst { data } = await useAsyncData(route.params.slug, async (_nuxtApp, { signal }) => {\n  return await $fetch(`/api/my-page/${route.params.slug}`, { signal })\n})\n",[2045,4046,4047,4052,4057,4073,4114,4160,4166,4171,4218,4256],{"__ignoreMap":2104},[2108,4048,4049],{"class":2110,"line":2111},[2108,4050,4051],{"class":2493},"// This would be unsafe in a dynamic page (e.g. `[slug].vue`) because the route slug makes a difference\n",[2108,4053,4054],{"class":2110,"line":2133},[2108,4055,4056],{"class":2493},"// to the data fetched, but Nuxt can't know that because it's not reflected in the key.\n",[2108,4058,4059,4061,4064,4067,4070],{"class":2110,"line":2146},[2108,4060,2514],{"class":2505},[2108,4062,4063],{"class":2125}," route ",[2108,4065,4066],{"class":2129},"=",[2108,4068,4069],{"class":2121}," useRoute",[2108,4071,4072],{"class":2125},"()\n",[2108,4074,4075,4077,4079,4081,4083,4085,4087,4089,4091,4094,4097,4100,4102,4104,4107,4110,4112],{"class":2110,"line":2161},[2108,4076,2514],{"class":2505},[2108,4078,2517],{"class":2129},[2108,4080,2520],{"class":2125},[2108,4082,2170],{"class":2129},[2108,4084,2525],{"class":2129},[2108,4086,2528],{"class":2114},[2108,4088,2531],{"class":2121},[2108,4090,2126],{"class":2125},[2108,4092,4093],{"class":2505},"async",[2108,4095,4096],{"class":2129}," (",[2108,4098,4099],{"class":2672},"_nuxtApp",[2108,4101,2545],{"class":2129},[2108,4103,2517],{"class":2129},[2108,4105,4106],{"class":2672}," signal",[2108,4108,4109],{"class":2129}," })",[2108,4111,2554],{"class":2505},[2108,4113,2143],{"class":2129},[2108,4115,4116,4118,4120,4122,4124,4127,4130,4133,4136,4138,4141,4143,4146,4149,4151,4153,4155,4158],{"class":2110,"line":2167},[2108,4117,2561],{"class":2114},[2108,4119,2528],{"class":2114},[2108,4121,2566],{"class":2121},[2108,4123,2126],{"class":2136},[2108,4125,4126],{"class":2129},"`",[2108,4128,4129],{"class":2539},"/api/my-page/",[2108,4131,4132],{"class":2129},"${",[2108,4134,4135],{"class":2125},"route",[2108,4137,2664],{"class":2129},[2108,4139,4140],{"class":2125},"params",[2108,4142,2664],{"class":2129},[2108,4144,4145],{"class":2125},"slug",[2108,4147,4148],{"class":2129},"}`",[2108,4150,2545],{"class":2129},[2108,4152,2517],{"class":2129},[2108,4154,4106],{"class":2125},[2108,4156,4157],{"class":2129}," }",[2108,4159,2173],{"class":2136},[2108,4161,4162,4164],{"class":2110,"line":2586},[2108,4163,2170],{"class":2129},[2108,4165,2173],{"class":2125},[2108,4167,4168],{"class":2110,"line":3295},[2108,4169,4170],{"class":2493},"// Instead, you should use a key that uniquely identifies the data fetched.\n",[2108,4172,4173,4175,4177,4179,4181,4183,4185,4187,4190,4192,4194,4196,4198,4200,4202,4204,4206,4208,4210,4212,4214,4216],{"class":2110,"line":3322},[2108,4174,2514],{"class":2505},[2108,4176,2517],{"class":2129},[2108,4178,2520],{"class":2125},[2108,4180,2170],{"class":2129},[2108,4182,2525],{"class":2129},[2108,4184,2528],{"class":2114},[2108,4186,2531],{"class":2121},[2108,4188,4189],{"class":2125},"(route",[2108,4191,2664],{"class":2129},[2108,4193,4140],{"class":2125},[2108,4195,2664],{"class":2129},[2108,4197,4145],{"class":2125},[2108,4199,2545],{"class":2129},[2108,4201,2548],{"class":2505},[2108,4203,4096],{"class":2129},[2108,4205,4099],{"class":2672},[2108,4207,2545],{"class":2129},[2108,4209,2517],{"class":2129},[2108,4211,4106],{"class":2672},[2108,4213,4109],{"class":2129},[2108,4215,2554],{"class":2505},[2108,4217,2143],{"class":2129},[2108,4219,4220,4222,4224,4226,4228,4230,4232,4234,4236,4238,4240,4242,4244,4246,4248,4250,4252,4254],{"class":2110,"line":3345},[2108,4221,2561],{"class":2114},[2108,4223,2528],{"class":2114},[2108,4225,2566],{"class":2121},[2108,4227,2126],{"class":2136},[2108,4229,4126],{"class":2129},[2108,4231,4129],{"class":2539},[2108,4233,4132],{"class":2129},[2108,4235,4135],{"class":2125},[2108,4237,2664],{"class":2129},[2108,4239,4140],{"class":2125},[2108,4241,2664],{"class":2129},[2108,4243,4145],{"class":2125},[2108,4245,4148],{"class":2129},[2108,4247,2545],{"class":2129},[2108,4249,2517],{"class":2129},[2108,4251,4106],{"class":2125},[2108,4253,4157],{"class":2129},[2108,4255,2173],{"class":2136},[2108,4257,4258,4260],{"class":2110,"line":3350},[2108,4259,2170],{"class":2129},[2108,4261,2173],{"class":2125},[2068,4263,4265],{"id":4264},"clientnodecompat","clientNodeCompat",[2038,4267,4268,4269,2664],{},"With this feature, Nuxt will automatically polyfill Node.js imports in the client build using ",[2050,4270,4273],{"href":4271,"rel":4272},"https://github.com/unjs/unenv",[2058],[2045,4274,4275],{},"unenv",[2062,4277,4278,4285],{},[2038,4279,4280,4281,4284],{},"To make globals like ",[2045,4282,4283],{},"Buffer"," work in the browser, you need to manually inject them.",[2098,4286,4288],{"className":2100,"code":4287,"language":2102,"meta":2104,"style":2104},"import { Buffer } from 'node:buffer'\n\nglobalThis.Buffer ||= Buffer\n",[2045,4289,4290,4313,4318],{"__ignoreMap":2104},[2108,4291,4292,4295,4297,4300,4302,4305,4307,4310],{"class":2110,"line":2111},[2108,4293,4294],{"class":2114},"import",[2108,4296,2517],{"class":2129},[2108,4298,4299],{"class":2125}," Buffer",[2108,4301,4157],{"class":2129},[2108,4303,4304],{"class":2114}," from",[2108,4306,2789],{"class":2129},[2108,4308,4309],{"class":2539},"node:buffer",[2108,4311,4312],{"class":2129},"'\n",[2108,4314,4315],{"class":2110,"line":2133},[2108,4316,4317],{"emptyLinePlaceholder":1196},"\n",[2108,4319,4320,4323,4325,4328,4331],{"class":2110,"line":2146},[2108,4321,4322],{"class":2125},"globalThis",[2108,4324,2664],{"class":2129},[2108,4326,4327],{"class":2125},"Buffer ",[2108,4329,4330],{"class":2129},"||=",[2108,4332,4333],{"class":2125}," Buffer\n",[2068,4335,4337],{"id":4336},"scanpagemeta","scanPageMeta",[2038,4339,4340,4341,4343,4344,2360,4347,2360,4350,2360,4352,2360,4355,2086,4358,2732],{},"Nuxt exposing some route metadata defined in ",[2045,4342,678],{}," at build-time to modules (specifically ",[2045,4345,4346],{},"alias",[2045,4348,4349],{},"name",[2045,4351,3003],{},[2045,4353,4354],{},"redirect",[2045,4356,4357],{},"props",[2045,4359,157],{},[2038,4361,4362,4363,4368],{},"This only works with static or strings/arrays rather than variables or conditional assignment. See ",[2050,4364,4367],{"href":4365,"rel":4366},"https://github.com/nuxt/nuxt/issues/24770",[2058],"original issue"," for more information and context.",[2038,4370,4371,4372,4375,4376,4379],{},"By default page metadata is only scanned after all routes have been registered in ",[2045,4373,4374],{},"pages:extend",". Then another hook, ",[2045,4377,4378],{},"pages:resolved"," will be called.",[2038,4381,4382],{},"You can disable this feature if it causes issues in your project.",[2098,4384,4386],{"className":2100,"code":4385,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    scanPageMeta: false,\n  },\n})\n",[2045,4387,4388,4400,4408,4419,4423],{"__ignoreMap":2104},[2108,4389,4390,4392,4394,4396,4398],{"class":2110,"line":2111},[2108,4391,2115],{"class":2114},[2108,4393,2118],{"class":2114},[2108,4395,2122],{"class":2121},[2108,4397,2126],{"class":2125},[2108,4399,2130],{"class":2129},[2108,4401,4402,4404,4406],{"class":2110,"line":2133},[2108,4403,2137],{"class":2136},[2108,4405,2140],{"class":2129},[2108,4407,2143],{"class":2129},[2108,4409,4410,4413,4415,4417],{"class":2110,"line":2146},[2108,4411,4412],{"class":2136},"    scanPageMeta",[2108,4414,2140],{"class":2129},[2108,4416,2218],{"class":2154},[2108,4418,2158],{"class":2129},[2108,4420,4421],{"class":2110,"line":2161},[2108,4422,2164],{"class":2129},[2108,4424,4425,4427],{"class":2110,"line":2167},[2108,4426,2170],{"class":2129},[2108,4428,2173],{"class":2125},[2068,4430,4432],{"id":4431},"cookiestore","cookieStore",[2038,4434,4435,4436,4438],{},"Enables CookieStore support to listen for cookie updates (if supported by the browser) and refresh ",[2045,4437,519],{}," ref values.",[2038,4440,2183],{},[2098,4442,4444],{"className":2100,"code":4443,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    cookieStore: false,\n  },\n})\n",[2045,4445,4446,4458,4466,4477,4481],{"__ignoreMap":2104},[2108,4447,4448,4450,4452,4454,4456],{"class":2110,"line":2111},[2108,4449,2115],{"class":2114},[2108,4451,2118],{"class":2114},[2108,4453,2122],{"class":2121},[2108,4455,2126],{"class":2125},[2108,4457,2130],{"class":2129},[2108,4459,4460,4462,4464],{"class":2110,"line":2133},[2108,4461,2137],{"class":2136},[2108,4463,2140],{"class":2129},[2108,4465,2143],{"class":2129},[2108,4467,4468,4471,4473,4475],{"class":2110,"line":2146},[2108,4469,4470],{"class":2136},"    cookieStore",[2108,4472,2140],{"class":2129},[2108,4474,2218],{"class":2154},[2108,4476,2158],{"class":2129},[2108,4478,4479],{"class":2110,"line":2161},[2108,4480,2164],{"class":2129},[2108,4482,4483,4485],{"class":2110,"line":2167},[2108,4484,2170],{"class":2129},[2108,4486,2173],{"class":2125},[2289,4488,4490],{"to":4489,"icon":3536,"target":2293},"https://developer.mozilla.org/en-US/docs/Web/API/CookieStore",[2038,4491,3472,4492,2664],{},[2711,4493,4494],{},"CookieStore",[2068,4496,4498],{"id":4497},"buildcache","buildCache",[2038,4500,4501],{},"Caches Nuxt build artifacts based on a hash of the configuration and source files.",[2038,4503,4504,4505,2086,4508,4511],{},"This only works for source files within ",[2045,4506,4507],{},"srcDir",[2045,4509,4510],{},"serverDir"," for the Vue/Nitro parts of your app.",[2038,4513,4514],{},"This flag is disabled by default, but you can enable it:",[2098,4516,4518],{"className":2100,"code":4517,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    buildCache: true,\n  },\n})\n",[2045,4519,4520,4532,4540,4551,4555],{"__ignoreMap":2104},[2108,4521,4522,4524,4526,4528,4530],{"class":2110,"line":2111},[2108,4523,2115],{"class":2114},[2108,4525,2118],{"class":2114},[2108,4527,2122],{"class":2121},[2108,4529,2126],{"class":2125},[2108,4531,2130],{"class":2129},[2108,4533,4534,4536,4538],{"class":2110,"line":2133},[2108,4535,2137],{"class":2136},[2108,4537,2140],{"class":2129},[2108,4539,2143],{"class":2129},[2108,4541,4542,4545,4547,4549],{"class":2110,"line":2146},[2108,4543,4544],{"class":2136},"    buildCache",[2108,4546,2140],{"class":2129},[2108,4548,2155],{"class":2154},[2108,4550,2158],{"class":2129},[2108,4552,4553],{"class":2110,"line":2161},[2108,4554,2164],{"class":2129},[2108,4556,4557,4559],{"class":2110,"line":2167},[2108,4558,2170],{"class":2129},[2108,4560,2173],{"class":2125},[2038,4562,4563],{},"When enabled, changes to the following files will trigger a full rebuild:",[2098,4565,4570],{"className":4566,"code":4567,"filename":4568,"language":4569,"meta":2104,"style":2104},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight",".nuxtrc\n.npmrc\npackage.json\npackage-lock.json\nyarn.lock\npnpm-lock.yaml\ntsconfig.json\nbun.lock\nbun.lockb\n","Directory structure","bash",[2045,4571,4572,4578,4583,4588,4593,4598,4603,4608,4613],{"__ignoreMap":2104},[2108,4573,4574],{"class":2110,"line":2111},[2108,4575,4577],{"class":4576},"s52Pk",".nuxtrc\n",[2108,4579,4580],{"class":2110,"line":2133},[2108,4581,4582],{"class":4576},".npmrc\n",[2108,4584,4585],{"class":2110,"line":2146},[2108,4586,4587],{"class":4576},"package.json\n",[2108,4589,4590],{"class":2110,"line":2161},[2108,4591,4592],{"class":4576},"package-lock.json\n",[2108,4594,4595],{"class":2110,"line":2167},[2108,4596,4597],{"class":4576},"yarn.lock\n",[2108,4599,4600],{"class":2110,"line":2586},[2108,4601,4602],{"class":4576},"pnpm-lock.yaml\n",[2108,4604,4605],{"class":2110,"line":3295},[2108,4606,4607],{"class":4576},"tsconfig.json\n",[2108,4609,4610],{"class":2110,"line":3322},[2108,4611,4612],{"class":4576},"bun.lock\n",[2108,4614,4615],{"class":2110,"line":3345},[2108,4616,4617],{"class":4576},"bun.lockb\n",[2038,4619,4620,4621,4623],{},"In addition, any changes to files within ",[2045,4622,4507],{}," will trigger a rebuild of the Vue client/server bundle. Nitro will always be rebuilt (though work is in progress to allow Nitro to announce its cacheable artifacts and their hashes).",[2062,4625,4626],{},[2038,4627,4628],{},"A maximum of 10 cache tarballs are kept.",[2068,4630,4632],{"id":4631},"checkoutdatedbuildinterval","checkOutdatedBuildInterval",[2038,4634,4635,4636,4639,4640,2664],{},"Set the time interval (in ms) to check for new builds. Disabled when ",[2045,4637,4638],{},"experimental.appManifest"," is ",[2045,4641,2750],{},[2038,4643,4644,4645,4647],{},"Set to ",[2045,4646,2750],{}," to disable.",[2098,4649,4651],{"className":2100,"code":4650,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    checkOutdatedBuildInterval: 3600000, // 1 hour, or false to disable\n  },\n})\n",[2045,4652,4653,4665,4673,4688,4692],{"__ignoreMap":2104},[2108,4654,4655,4657,4659,4661,4663],{"class":2110,"line":2111},[2108,4656,2115],{"class":2114},[2108,4658,2118],{"class":2114},[2108,4660,2122],{"class":2121},[2108,4662,2126],{"class":2125},[2108,4664,2130],{"class":2129},[2108,4666,4667,4669,4671],{"class":2110,"line":2133},[2108,4668,2137],{"class":2136},[2108,4670,2140],{"class":2129},[2108,4672,2143],{"class":2129},[2108,4674,4675,4678,4680,4683,4685],{"class":2110,"line":2146},[2108,4676,4677],{"class":2136},"    checkOutdatedBuildInterval",[2108,4679,2140],{"class":2129},[2108,4681,4682],{"class":3315}," 3600000",[2108,4684,2545],{"class":2129},[2108,4686,4687],{"class":2493}," // 1 hour, or false to disable\n",[2108,4689,4690],{"class":2110,"line":2161},[2108,4691,2164],{"class":2129},[2108,4693,4694,4696],{"class":2110,"line":2167},[2108,4695,2170],{"class":2129},[2108,4697,2173],{"class":2125},[2068,4699,4701],{"id":4700},"extrapagemetaextractionkeys","extraPageMetaExtractionKeys",[2038,4703,4704,4705,4708],{},"The ",[2045,4706,4707],{},"definePageMeta()"," macro is a useful way to collect build-time meta about pages. Nuxt itself provides a set list of supported keys which is used to power some of the internal features such as redirects, page aliases and custom paths.",[2038,4710,4711,4712,2664],{},"This option allows passing additional keys to extract from the page metadata when using ",[2045,4713,4337],{},[2098,4715,4717],{"className":2485,"code":4716,"language":2359,"meta":2104,"style":2104},"\u003Cscript lang=\"ts\" setup>\ndefinePageMeta({\n  foo: 'bar',\n})\n\u003C/script>\n",[2045,4718,4719,4741,4749,4765,4771],{"__ignoreMap":2104},[2108,4720,4721,4723,4725,4728,4730,4733,4735,4737,4739],{"class":2110,"line":2111},[2108,4722,2499],{"class":2129},[2108,4724,2502],{"class":2136},[2108,4726,4727],{"class":2505}," lang",[2108,4729,4066],{"class":2129},[2108,4731,4732],{"class":2129},"\"",[2108,4734,2102],{"class":2539},[2108,4736,4732],{"class":2129},[2108,4738,2506],{"class":2505},[2108,4740,2509],{"class":2129},[2108,4742,4743,4745,4747],{"class":2110,"line":2133},[2108,4744,678],{"class":2121},[2108,4746,2126],{"class":2125},[2108,4748,2130],{"class":2129},[2108,4750,4751,4754,4756,4758,4761,4763],{"class":2110,"line":2146},[2108,4752,4753],{"class":2136},"  foo",[2108,4755,2140],{"class":2129},[2108,4757,2789],{"class":2129},[2108,4759,4760],{"class":2539},"bar",[2108,4762,2536],{"class":2129},[2108,4764,2158],{"class":2129},[2108,4766,4767,4769],{"class":2110,"line":2161},[2108,4768,2170],{"class":2129},[2108,4770,2173],{"class":2125},[2108,4772,4773,4775,4777],{"class":2110,"line":2167},[2108,4774,2589],{"class":2129},[2108,4776,2502],{"class":2136},[2108,4778,2509],{"class":2129},[2098,4780,4782],{"className":2100,"code":4781,"language":2102,"meta":2104,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    extraPageMetaExtractionKeys: ['foo'],\n  },\n  hooks: {\n    'pages:resolved' (ctx) {\n      // ✅ foo is available\n    },\n  },\n})\n",[2045,4783,4784,4796,4804,4826,4830,4839,4856,4861,4866,4870],{"__ignoreMap":2104},[2108,4785,4786,4788,4790,4792,4794],{"class":2110,"line":2111},[2108,4787,2115],{"class":2114},[2108,4789,2118],{"class":2114},[2108,4791,2122],{"class":2121},[2108,4793,2126],{"class":2125},[2108,4795,2130],{"class":2129},[2108,4797,4798,4800,4802],{"class":2110,"line":2133},[2108,4799,2137],{"class":2136},[2108,4801,2140],{"class":2129},[2108,4803,2143],{"class":2129},[2108,4805,4806,4809,4811,4814,4816,4819,4821,4824],{"class":2110,"line":2146},[2108,4807,4808],{"class":2136},"    extraPageMetaExtractionKeys",[2108,4810,2140],{"class":2129},[2108,4812,4813],{"class":2125}," [",[2108,4815,2536],{"class":2129},[2108,4817,4818],{"class":2539},"foo",[2108,4820,2536],{"class":2129},[2108,4822,4823],{"class":2125},"]",[2108,4825,2158],{"class":2129},[2108,4827,4828],{"class":2110,"line":2161},[2108,4829,2164],{"class":2129},[2108,4831,4832,4835,4837],{"class":2110,"line":2167},[2108,4833,4834],{"class":2136},"  hooks",[2108,4836,2140],{"class":2129},[2108,4838,2143],{"class":2129},[2108,4840,4841,4843,4845,4847,4849,4852,4854],{"class":2110,"line":2586},[2108,4842,3298],{"class":2129},[2108,4844,4378],{"class":2539},[2108,4846,2536],{"class":2129},[2108,4848,4096],{"class":2129},[2108,4850,4851],{"class":2672},"ctx",[2108,4853,2661],{"class":2129},[2108,4855,2143],{"class":2129},[2108,4857,4858],{"class":2110,"line":3295},[2108,4859,4860],{"class":2493},"      // ✅ foo is available\n",[2108,4862,4863],{"class":2110,"line":3322},[2108,4864,4865],{"class":2129},"    },\n",[2108,4867,4868],{"class":2110,"line":3345},[2108,4869,2164],{"class":2129},[2108,4871,4872,4874],{"class":2110,"line":3350},[2108,4873,2170],{"class":2129},[2108,4875,2173],{"class":2125},[2038,4877,4878,4879,2664],{},"This allows modules to access additional metadata from the page metadata in the build context. If you are using this within a module, it's recommended also to ",[2050,4880,4882,4883,4886],{"href":4881},"/docs/4.x/directory-structure/app/pages#typing-custom-metadata","augment the ",[2045,4884,4885],{},"NuxtPage"," types with your keys",[2068,4888,4890],{"id":4889},"navigationrepaint","navigationRepaint",[2038,4892,4893],{},"Wait for a single animation frame before navigation, which gives an opportunity for the browser to repaint, acknowledging user interaction.",[2038,4895,4896],{},"It can reduce INP when navigating on prerendered routes.",[2038,4898,2183],{},[2098,4900,4902],{"className":2100,"code":4901,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    navigationRepaint: false,\n  },\n})\n",[2045,4903,4904,4916,4924,4935,4939],{"__ignoreMap":2104},[2108,4905,4906,4908,4910,4912,4914],{"class":2110,"line":2111},[2108,4907,2115],{"class":2114},[2108,4909,2118],{"class":2114},[2108,4911,2122],{"class":2121},[2108,4913,2126],{"class":2125},[2108,4915,2130],{"class":2129},[2108,4917,4918,4920,4922],{"class":2110,"line":2133},[2108,4919,2137],{"class":2136},[2108,4921,2140],{"class":2129},[2108,4923,2143],{"class":2129},[2108,4925,4926,4929,4931,4933],{"class":2110,"line":2146},[2108,4927,4928],{"class":2136},"    navigationRepaint",[2108,4930,2140],{"class":2129},[2108,4932,2218],{"class":2154},[2108,4934,2158],{"class":2129},[2108,4936,4937],{"class":2110,"line":2161},[2108,4938,2164],{"class":2129},[2108,4940,4941,4943],{"class":2110,"line":2167},[2108,4942,2170],{"class":2129},[2108,4944,2173],{"class":2125},[2068,4946,4948],{"id":4947},"normalizecomponentnames","normalizeComponentNames",[2038,4950,4951],{},"Nuxt updates auto-generated Vue component names to match the full component name you would use to auto-import the component.",[2038,4953,4954],{},"If you encounter issues, you can disable this feature.",[2098,4956,4958],{"className":2100,"code":4957,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    normalizeComponentNames: false,\n  },\n})\n",[2045,4959,4960,4972,4980,4991,4995],{"__ignoreMap":2104},[2108,4961,4962,4964,4966,4968,4970],{"class":2110,"line":2111},[2108,4963,2115],{"class":2114},[2108,4965,2118],{"class":2114},[2108,4967,2122],{"class":2121},[2108,4969,2126],{"class":2125},[2108,4971,2130],{"class":2129},[2108,4973,4974,4976,4978],{"class":2110,"line":2133},[2108,4975,2137],{"class":2136},[2108,4977,2140],{"class":2129},[2108,4979,2143],{"class":2129},[2108,4981,4982,4985,4987,4989],{"class":2110,"line":2146},[2108,4983,4984],{"class":2136},"    normalizeComponentNames",[2108,4986,2140],{"class":2129},[2108,4988,2218],{"class":2154},[2108,4990,2158],{"class":2129},[2108,4992,4993],{"class":2110,"line":2161},[2108,4994,2164],{"class":2129},[2108,4996,4997,4999],{"class":2110,"line":2167},[2108,4998,2170],{"class":2129},[2108,5000,2173],{"class":2125},[2038,5002,5003],{},"By default, if you haven't set it manually, Vue will assign a component name that matches\nthe filename of the component.",[2098,5005,5007],{"className":4566,"code":5006,"filename":4568,"language":4569,"meta":2104,"style":2104},"├─ components/\n├─── SomeFolder/\n├───── MyComponent.vue\n",[2045,5008,5009,5017,5025],{"__ignoreMap":2104},[2108,5010,5011,5014],{"class":2110,"line":2111},[2108,5012,5013],{"class":4576},"├─",[2108,5015,5016],{"class":2539}," components/\n",[2108,5018,5019,5022],{"class":2110,"line":2133},[2108,5020,5021],{"class":4576},"├───",[2108,5023,5024],{"class":2539}," SomeFolder/\n",[2108,5026,5027,5030],{"class":2110,"line":2146},[2108,5028,5029],{"class":4576},"├─────",[2108,5031,5032],{"class":2539}," MyComponent.vue\n",[2038,5034,5035,5036,5039,5040,5043],{},"In this case, the component name would be ",[2045,5037,5038],{},"MyComponent",", as far as Vue is concerned. If you wanted to use ",[2045,5041,5042],{},"\u003CKeepAlive>"," with it, or identify it in the Vue DevTools, you would need to use this component.",[2038,5045,5046,5047,2664],{},"But in order to auto-import it, you would need to use ",[2045,5048,5049],{},"SomeFolderMyComponent",[2038,5051,5052,5053,5056],{},"By setting ",[2045,5054,5055],{},"experimental.normalizeComponentNames",", these two values match, and Vue will generate a component name that matches the Nuxt pattern for component naming.",[2068,5058,5060],{"id":5059},"normalizepagenames","normalizePageNames",[2038,5062,5063,5064,5067,5068,5070],{},"Ensure that page component names match their route names. This sets the ",[2045,5065,5066],{},"__name"," property on page components so that Vue's ",[2045,5069,5042],{}," can correctly identify them by name.",[2038,5072,5073,5074,2086,5077,5080,5081,5084,5085,5087],{},"By default, Vue assigns component names based on the filename. For example, ",[2045,5075,5076],{},"pages/foo/index.vue",[2045,5078,5079],{},"pages/bar/index.vue"," would both have the component name ",[2045,5082,5083],{},"index",". This makes name-based ",[2045,5086,5042],{}," filtering unreliable because multiple pages share the same name.",[2038,5089,5090,5091,5093,5094,2086,5096,5098,5099,5101,5102,5105,5106,5109,5110,5113],{},"With ",[2045,5092,5060],{}," enabled, page components are named after their route (e.g. ",[2045,5095,4818],{},[2045,5097,4760],{},"), so you can use ",[2045,5100,5042],{}," with ",[2045,5103,5104],{},"include","/",[2045,5107,5108],{},"exclude"," without manually adding ",[2045,5111,5112],{},"defineOptions({ name: '...' })"," to each page.",[2038,5115,5116,5117,5120,5121,5124],{},"This flag is enabled when ",[2045,5118,5119],{},"future.compatibilityVersion"," is set to ",[2045,5122,5123],{},"5"," or higher, but you can disable this feature:",[2098,5126,5128],{"className":2100,"code":5127,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    normalizePageNames: false,\n  },\n})\n",[2045,5129,5130,5142,5150,5161,5165],{"__ignoreMap":2104},[2108,5131,5132,5134,5136,5138,5140],{"class":2110,"line":2111},[2108,5133,2115],{"class":2114},[2108,5135,2118],{"class":2114},[2108,5137,2122],{"class":2121},[2108,5139,2126],{"class":2125},[2108,5141,2130],{"class":2129},[2108,5143,5144,5146,5148],{"class":2110,"line":2133},[2108,5145,2137],{"class":2136},[2108,5147,2140],{"class":2129},[2108,5149,2143],{"class":2129},[2108,5151,5152,5155,5157,5159],{"class":2110,"line":2146},[2108,5153,5154],{"class":2136},"    normalizePageNames",[2108,5156,2140],{"class":2129},[2108,5158,2218],{"class":2154},[2108,5160,2158],{"class":2129},[2108,5162,5163],{"class":2110,"line":2161},[2108,5164,2164],{"class":2129},[2108,5166,5167,5169],{"class":2110,"line":2167},[2108,5168,2170],{"class":2129},[2108,5170,2173],{"class":2125},[2098,5172,5174],{"className":2485,"code":5173,"filename":219,"language":2359,"meta":2104,"style":2104},"\u003Ctemplate>\n  \u003CNuxtPage :keepalive=\"{ include: ['foo'] }\" />\n\u003C/template>\n",[2045,5175,5176,5185,5207],{"__ignoreMap":2104},[2108,5177,5178,5180,5183],{"class":2110,"line":2111},[2108,5179,2499],{"class":2129},[2108,5181,5182],{"class":2136},"template",[2108,5184,2509],{"class":2129},[2108,5186,5187,5190,5192,5195,5197,5199,5202,5204],{"class":2110,"line":2133},[2108,5188,5189],{"class":2129},"  \u003C",[2108,5191,4885],{"class":2136},[2108,5193,5194],{"class":2505}," :keepalive",[2108,5196,4066],{"class":2129},[2108,5198,4732],{"class":2129},[2108,5200,5201],{"class":2539},"{ include: ['foo'] }",[2108,5203,4732],{"class":2129},[2108,5205,5206],{"class":2129}," />\n",[2108,5208,5209,5211,5213],{"class":2110,"line":2146},[2108,5210,2589],{"class":2129},[2108,5212,5182],{"class":2136},[2108,5214,2509],{"class":2129},[2068,5216,5218],{"id":5217},"spaloadingtemplatelocation","spaLoadingTemplateLocation",[2038,5220,5221,5222,5225,5226,2732],{},"When rendering a client-only page (with ",[2045,5223,5224],{},"ssr: false","), we optionally render a loading screen (from ",[2045,5227,5228],{},"~/spa-loading-template.html",[2038,5230,5231,5232,5235],{},"It can be set to ",[2045,5233,5234],{},"within",", which will render it like this:",[2098,5237,5241],{"className":5238,"code":5239,"language":5240,"meta":2104,"style":2104},"language-html shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003Cdiv id=\"__nuxt\">\n  \u003C!-- spa loading template -->\n\u003C/div>\n","html",[2045,5242,5243,5264,5269],{"__ignoreMap":2104},[2108,5244,5245,5247,5250,5253,5255,5257,5260,5262],{"class":2110,"line":2111},[2108,5246,2499],{"class":2129},[2108,5248,5249],{"class":2136},"div",[2108,5251,5252],{"class":2505}," id",[2108,5254,4066],{"class":2129},[2108,5256,4732],{"class":2129},[2108,5258,5259],{"class":2539},"__nuxt",[2108,5261,4732],{"class":2129},[2108,5263,2509],{"class":2129},[2108,5265,5266],{"class":2110,"line":2133},[2108,5267,5268],{"class":2493},"  \u003C!-- spa loading template -->\n",[2108,5270,5271,5273,5275],{"class":2110,"line":2146},[2108,5272,2589],{"class":2129},[2108,5274,5249],{"class":2136},[2108,5276,2509],{"class":2129},[2038,5278,5279,5280,2140],{},"Alternatively, you can render the template alongside the Nuxt app root by setting it to ",[2045,5281,5282],{},"body",[2098,5284,5286],{"className":5238,"code":5285,"language":5240,"meta":2104,"style":2104},"\u003Cdiv id=\"__nuxt\">\u003C/div>\n\u003C!-- spa loading template -->\n",[2045,5287,5288,5311],{"__ignoreMap":2104},[2108,5289,5290,5292,5294,5296,5298,5300,5302,5304,5307,5309],{"class":2110,"line":2111},[2108,5291,2499],{"class":2129},[2108,5293,5249],{"class":2136},[2108,5295,5252],{"class":2505},[2108,5297,4066],{"class":2129},[2108,5299,4732],{"class":2129},[2108,5301,5259],{"class":2539},[2108,5303,4732],{"class":2129},[2108,5305,5306],{"class":2129},">\u003C/",[2108,5308,5249],{"class":2136},[2108,5310,2509],{"class":2129},[2108,5312,5313],{"class":2110,"line":2133},[2108,5314,5315],{"class":2493},"\u003C!-- spa loading template -->\n",[2038,5317,5318],{},"This avoids a white flash when hydrating a client-only page.",[2068,5320,5322],{"id":5321},"browserdevtoolstiming","browserDevtoolsTiming",[2038,5324,5325],{},"Enables performance markers for Nuxt hooks in browser devtools. This adds performance markers that you can track in the Performance tab of Chromium-based browsers, which is useful for debugging and optimizing performance.",[2038,5327,5328],{},"This is enabled by default in development mode. If you need to disable this feature, it is possible to do so:",[2098,5330,5332],{"className":2100,"code":5331,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    browserDevtoolsTiming: false,\n  },\n})\n",[2045,5333,5334,5346,5354,5365,5369],{"__ignoreMap":2104},[2108,5335,5336,5338,5340,5342,5344],{"class":2110,"line":2111},[2108,5337,2115],{"class":2114},[2108,5339,2118],{"class":2114},[2108,5341,2122],{"class":2121},[2108,5343,2126],{"class":2125},[2108,5345,2130],{"class":2129},[2108,5347,5348,5350,5352],{"class":2110,"line":2133},[2108,5349,2137],{"class":2136},[2108,5351,2140],{"class":2129},[2108,5353,2143],{"class":2129},[2108,5355,5356,5359,5361,5363],{"class":2110,"line":2146},[2108,5357,5358],{"class":2136},"    browserDevtoolsTiming",[2108,5360,2140],{"class":2129},[2108,5362,2218],{"class":2154},[2108,5364,2158],{"class":2129},[2108,5366,5367],{"class":2110,"line":2161},[2108,5368,2164],{"class":2129},[2108,5370,5371,5373],{"class":2110,"line":2167},[2108,5372,2170],{"class":2129},[2108,5374,2173],{"class":2125},[2289,5376,5379],{"to":5377,"icon":2292,"target":2293,"color":5378},"https://github.com/nuxt/nuxt/pull/29922","gray",[2038,5380,5381],{},"See PR #29922 for implementation details.",[2289,5383,5386],{"to":5384,"icon":5385,"target":2293,"color":5378},"https://developer.chrome.com/docs/devtools/performance/extension#tracks","i-simple-icons-googlechrome",[2038,5387,5388],{},"Learn more about Chrome DevTools Performance API.",[2068,5390,5392],{"id":5391},"debugmodulemutation","debugModuleMutation",[2038,5394,5395,5396,5399],{},"Records mutations to ",[2045,5397,5398],{},"nuxt.options"," in module context, helping to debug configuration changes made by modules during the Nuxt initialization phase.",[2038,5401,5402,5403,5406],{},"This is enabled by default when ",[2045,5404,5405],{},"debug"," mode is enabled. If you need to disable this feature, it is possible to do so:",[2038,5408,5409],{},"To enable it explicitly:",[2098,5411,5413],{"className":2100,"code":5412,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    debugModuleMutation: true,\n  },\n})\n",[2045,5414,5415,5427,5435,5446,5450],{"__ignoreMap":2104},[2108,5416,5417,5419,5421,5423,5425],{"class":2110,"line":2111},[2108,5418,2115],{"class":2114},[2108,5420,2118],{"class":2114},[2108,5422,2122],{"class":2121},[2108,5424,2126],{"class":2125},[2108,5426,2130],{"class":2129},[2108,5428,5429,5431,5433],{"class":2110,"line":2133},[2108,5430,2137],{"class":2136},[2108,5432,2140],{"class":2129},[2108,5434,2143],{"class":2129},[2108,5436,5437,5440,5442,5444],{"class":2110,"line":2146},[2108,5438,5439],{"class":2136},"    debugModuleMutation",[2108,5441,2140],{"class":2129},[2108,5443,2155],{"class":2154},[2108,5445,2158],{"class":2129},[2108,5447,5448],{"class":2110,"line":2161},[2108,5449,2164],{"class":2129},[2108,5451,5452,5454],{"class":2110,"line":2167},[2108,5453,2170],{"class":2129},[2108,5455,2173],{"class":2125},[2289,5457,5459],{"to":5458,"icon":2292,"target":2293,"color":5378},"https://github.com/nuxt/nuxt/pull/30555",[2038,5460,5461],{},"See PR #30555 for implementation details.",[2068,5463,5465],{"id":5464},"lazyhydration","lazyHydration",[2038,5467,5468,5469,5472],{},"This enables hydration strategies for ",[2045,5470,5471],{},"\u003CLazy>"," components, which improves performance by deferring hydration of components until they're needed.",[2038,5474,5475],{},"Lazy hydration is enabled by default, but you can disable this feature:",[2098,5477,5479],{"className":2100,"code":5478,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    lazyHydration: false,\n  },\n})\n",[2045,5480,5481,5493,5501,5512,5516],{"__ignoreMap":2104},[2108,5482,5483,5485,5487,5489,5491],{"class":2110,"line":2111},[2108,5484,2115],{"class":2114},[2108,5486,2118],{"class":2114},[2108,5488,2122],{"class":2121},[2108,5490,2126],{"class":2125},[2108,5492,2130],{"class":2129},[2108,5494,5495,5497,5499],{"class":2110,"line":2133},[2108,5496,2137],{"class":2136},[2108,5498,2140],{"class":2129},[2108,5500,2143],{"class":2129},[2108,5502,5503,5506,5508,5510],{"class":2110,"line":2146},[2108,5504,5505],{"class":2136},"    lazyHydration",[2108,5507,2140],{"class":2129},[2108,5509,2218],{"class":2154},[2108,5511,2158],{"class":2129},[2108,5513,5514],{"class":2110,"line":2161},[2108,5515,2164],{"class":2129},[2108,5517,5518,5520],{"class":2110,"line":2167},[2108,5519,2170],{"class":2129},[2108,5521,2173],{"class":2125},[2289,5523,5525],{"to":5524,"icon":2292,"color":5378},"/docs/4.x/directory-structure/app/components#delayed-or-lazy-hydration",[2038,5526,5527],{},"Read more about lazy hydration.",[2068,5529,5531],{"id":5530},"templateimportresolution","templateImportResolution",[2038,5533,5534],{},"Disable resolving imports into Nuxt templates from the path of the module that added the template.",[2038,5536,5537,5538,5540],{},"By default, Nuxt attempts to resolve imports in templates relative to the module that added them. Setting this to ",[2045,5539,2750],{}," disables this behavior, which may be useful if you're experiencing resolution conflicts in certain environments.",[2038,5542,2183],{},[2098,5544,5546],{"className":2100,"code":5545,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    templateImportResolution: false,\n  },\n})\n",[2045,5547,5548,5560,5568,5579,5583],{"__ignoreMap":2104},[2108,5549,5550,5552,5554,5556,5558],{"class":2110,"line":2111},[2108,5551,2115],{"class":2114},[2108,5553,2118],{"class":2114},[2108,5555,2122],{"class":2121},[2108,5557,2126],{"class":2125},[2108,5559,2130],{"class":2129},[2108,5561,5562,5564,5566],{"class":2110,"line":2133},[2108,5563,2137],{"class":2136},[2108,5565,2140],{"class":2129},[2108,5567,2143],{"class":2129},[2108,5569,5570,5573,5575,5577],{"class":2110,"line":2146},[2108,5571,5572],{"class":2136},"    templateImportResolution",[2108,5574,2140],{"class":2129},[2108,5576,2218],{"class":2154},[2108,5578,2158],{"class":2129},[2108,5580,5581],{"class":2110,"line":2161},[2108,5582,2164],{"class":2129},[2108,5584,5585,5587],{"class":2110,"line":2167},[2108,5586,2170],{"class":2129},[2108,5588,2173],{"class":2125},[2289,5590,5592],{"to":5591,"icon":2292,"target":2293,"color":5378},"https://github.com/nuxt/nuxt/pull/31175",[2038,5593,5594],{},"See PR #31175 for implementation details.",[2068,5596,5598],{"id":5597},"templaterouteinjection","templateRouteInjection",[2038,5600,5601,5602,5605,5606,5608,5609,5611,5612,5614,5615,5618],{},"By default the route object returned by the auto-imported ",[2045,5603,5604],{},"useRoute()"," composable is kept in sync with the current page in view in ",[2045,5607,468],{},". This is not true for ",[2045,5610,2366],{},"'s exported ",[2045,5613,591],{}," or for the default ",[2045,5616,5617],{},"$route"," object available in your Vue templates.",[2038,5620,5621,5622,5624,5625,2664],{},"By enabling this option a mixin will be injected to keep the ",[2045,5623,5617],{}," template object in sync with Nuxt's managed ",[2045,5626,5604],{},[2038,5628,2183],{},[2098,5630,5632],{"className":2100,"code":5631,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    templateRouteInjection: false,\n  },\n})\n",[2045,5633,5634,5646,5654,5665,5669],{"__ignoreMap":2104},[2108,5635,5636,5638,5640,5642,5644],{"class":2110,"line":2111},[2108,5637,2115],{"class":2114},[2108,5639,2118],{"class":2114},[2108,5641,2122],{"class":2121},[2108,5643,2126],{"class":2125},[2108,5645,2130],{"class":2129},[2108,5647,5648,5650,5652],{"class":2110,"line":2133},[2108,5649,2137],{"class":2136},[2108,5651,2140],{"class":2129},[2108,5653,2143],{"class":2129},[2108,5655,5656,5659,5661,5663],{"class":2110,"line":2146},[2108,5657,5658],{"class":2136},"    templateRouteInjection",[2108,5660,2140],{"class":2129},[2108,5662,2218],{"class":2154},[2108,5664,2158],{"class":2129},[2108,5666,5667],{"class":2110,"line":2161},[2108,5668,2164],{"class":2129},[2108,5670,5671,5673],{"class":2110,"line":2167},[2108,5672,2170],{"class":2129},[2108,5674,2173],{"class":2125},[2068,5676,5677],{"id":5677},"decorators",[2038,5679,5680,5681,2664],{},"This option enables enabling decorator syntax across your entire Nuxt/Nitro app, powered by ",[2050,5682,5685],{"href":5683,"rel":5684},"https://github.com/evanw/esbuild/releases/tag/v0.21.3",[2058],"esbuild",[2038,5687,5688,5689,5692,5693,5698,5699,2086,5703,2732],{},"For a long time, TypeScript has had support for decorators via ",[2045,5690,5691],{},"compilerOptions.experimentalDecorators",". This implementation predated the TC39 standardization process. Now, decorators are a ",[2050,5694,5697],{"href":5695,"rel":5696},"https://github.com/tc39/proposal-decorators",[2058],"Stage 3 Proposal",", and supported without special configuration in TS 5.0+ (see ",[2050,5700,5701],{"href":5701,"rel":5702},"https://github.com/microsoft/TypeScript/pull/52582",[2058],[2050,5704,5705],{"href":5705,"rel":5706},"https://devblogs.microsoft.com/typescript/announcing-typescript-5-0-beta/#decorators",[2058],[2038,5708,5709,5710,5713,5714,5717,5718,5720],{},"Enabling ",[2045,5711,5712],{},"experimental.decorators"," enables support for the TC39 proposal, ",[2711,5715,5716],{},"NOT"," for TypeScript's previous ",[2045,5719,5691],{}," implementation.",[2417,5722,5723],{},[2038,5724,5725],{},"Note that there may be changes before this finally lands in the JS standard.",[5727,5728,5730],"h3",{"id":5729},"usage","Usage",[2098,5732,5734],{"className":2100,"code":5733,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    decorators: true,\n  },\n})\n",[2045,5735,5736,5748,5756,5767,5771],{"__ignoreMap":2104},[2108,5737,5738,5740,5742,5744,5746],{"class":2110,"line":2111},[2108,5739,2115],{"class":2114},[2108,5741,2118],{"class":2114},[2108,5743,2122],{"class":2121},[2108,5745,2126],{"class":2125},[2108,5747,2130],{"class":2129},[2108,5749,5750,5752,5754],{"class":2110,"line":2133},[2108,5751,2137],{"class":2136},[2108,5753,2140],{"class":2129},[2108,5755,2143],{"class":2129},[2108,5757,5758,5761,5763,5765],{"class":2110,"line":2146},[2108,5759,5760],{"class":2136},"    decorators",[2108,5762,2140],{"class":2129},[2108,5764,2155],{"class":2154},[2108,5766,2158],{"class":2129},[2108,5768,5769],{"class":2110,"line":2161},[2108,5770,2164],{"class":2129},[2108,5772,5773,5775],{"class":2110,"line":2167},[2108,5774,2170],{"class":2129},[2108,5776,2173],{"class":2125},[2098,5778,5781],{"className":2100,"code":5779,"filename":5780,"language":2102,"meta":2104,"style":2104},"function something (_method: () => unknown) {\n  return () => 'decorated'\n}\n\nclass SomeClass {\n  @something\n  public someMethod () {\n    return 'initial'\n  }\n}\n\nconst value = new SomeClass().someMethod()\n// this will return 'decorated'\n","app/app.vue",[2045,5782,5783,5809,5824,5829,5833,5843,5851,5863,5875,5880,5884,5889,5914],{"__ignoreMap":2104},[2108,5784,5785,5788,5791,5793,5796,5798,5800,5802,5805,5807],{"class":2110,"line":2111},[2108,5786,5787],{"class":2505},"function",[2108,5789,5790],{"class":2121}," something",[2108,5792,4096],{"class":2129},[2108,5794,5795],{"class":2121},"_method",[2108,5797,2140],{"class":2129},[2108,5799,2551],{"class":2129},[2108,5801,2554],{"class":2505},[2108,5803,5804],{"class":4576}," unknown",[2108,5806,2661],{"class":2129},[2108,5808,2143],{"class":2129},[2108,5810,5811,5813,5815,5817,5819,5822],{"class":2110,"line":2133},[2108,5812,2561],{"class":2114},[2108,5814,2551],{"class":2129},[2108,5816,2554],{"class":2505},[2108,5818,2789],{"class":2129},[2108,5820,5821],{"class":2539},"decorated",[2108,5823,4312],{"class":2129},[2108,5825,5826],{"class":2110,"line":2146},[2108,5827,5828],{"class":2129},"}\n",[2108,5830,5831],{"class":2110,"line":2161},[2108,5832,4317],{"emptyLinePlaceholder":1196},[2108,5834,5835,5838,5841],{"class":2110,"line":2167},[2108,5836,5837],{"class":2505},"class",[2108,5839,5840],{"class":4576}," SomeClass",[2108,5842,2143],{"class":2129},[2108,5844,5845,5848],{"class":2110,"line":2586},[2108,5846,5847],{"class":2129},"  @",[2108,5849,5850],{"class":2125},"something\n",[2108,5852,5853,5856,5859,5861],{"class":2110,"line":3295},[2108,5854,5855],{"class":2505},"  public",[2108,5857,5858],{"class":2136}," someMethod",[2108,5860,2551],{"class":2129},[2108,5862,2143],{"class":2129},[2108,5864,5865,5868,5870,5873],{"class":2110,"line":3322},[2108,5866,5867],{"class":2114},"    return",[2108,5869,2789],{"class":2129},[2108,5871,5872],{"class":2539},"initial",[2108,5874,4312],{"class":2129},[2108,5876,5877],{"class":2110,"line":3345},[2108,5878,5879],{"class":2129},"  }\n",[2108,5881,5882],{"class":2110,"line":3350},[2108,5883,5828],{"class":2129},[2108,5885,5887],{"class":2110,"line":5886},11,[2108,5888,4317],{"emptyLinePlaceholder":1196},[2108,5890,5892,5894,5897,5899,5902,5904,5907,5909,5912],{"class":2110,"line":5891},12,[2108,5893,2514],{"class":2505},[2108,5895,5896],{"class":2125}," value ",[2108,5898,4066],{"class":2129},[2108,5900,5901],{"class":2129}," new",[2108,5903,5840],{"class":2121},[2108,5905,5906],{"class":2125},"()",[2108,5908,2664],{"class":2129},[2108,5910,5911],{"class":2121},"someMethod",[2108,5913,4072],{"class":2125},[2108,5915,5917],{"class":2110,"line":5916},13,[2108,5918,5919],{"class":2493},"// this will return 'decorated'\n",[2068,5921,5922],{"id":5922},"defaults",[2038,5924,5925],{},"This allows specifying the default options for core Nuxt components and composables.",[2038,5927,5928,5929,5932,5933,5935],{},"These options will likely be moved elsewhere in the future, such as into ",[2045,5930,5931],{},"app.config"," or into the ",[2045,5934,1195],{}," directory.",[2098,5937,5939],{"className":2100,"code":5938,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    defaults: {\n      nuxtLink: {\n        componentName: 'NuxtLink',\n        prefetch: true,\n        prefetchOn: {\n          visibility: true,\n        },\n      },\n      useAsyncData: {\n        deep: true,\n      },\n      useState: {\n        resetOnClear: true,\n      },\n    },\n  },\n})\n",[2045,5940,5941,5953,5961,5970,5979,5995,6006,6015,6026,6031,6036,6045,6056,6060,6070,6082,6087,6092,6097],{"__ignoreMap":2104},[2108,5942,5943,5945,5947,5949,5951],{"class":2110,"line":2111},[2108,5944,2115],{"class":2114},[2108,5946,2118],{"class":2114},[2108,5948,2122],{"class":2121},[2108,5950,2126],{"class":2125},[2108,5952,2130],{"class":2129},[2108,5954,5955,5957,5959],{"class":2110,"line":2133},[2108,5956,2137],{"class":2136},[2108,5958,2140],{"class":2129},[2108,5960,2143],{"class":2129},[2108,5962,5963,5966,5968],{"class":2110,"line":2146},[2108,5964,5965],{"class":2136},"    defaults",[2108,5967,2140],{"class":2129},[2108,5969,2143],{"class":2129},[2108,5971,5972,5975,5977],{"class":2110,"line":2161},[2108,5973,5974],{"class":2136},"      nuxtLink",[2108,5976,2140],{"class":2129},[2108,5978,2143],{"class":2129},[2108,5980,5981,5984,5986,5988,5991,5993],{"class":2110,"line":2167},[2108,5982,5983],{"class":2136},"        componentName",[2108,5985,2140],{"class":2129},[2108,5987,2789],{"class":2129},[2108,5989,5990],{"class":2539},"NuxtLink",[2108,5992,2536],{"class":2129},[2108,5994,2158],{"class":2129},[2108,5996,5997,6000,6002,6004],{"class":2110,"line":2586},[2108,5998,5999],{"class":2136},"        prefetch",[2108,6001,2140],{"class":2129},[2108,6003,2155],{"class":2154},[2108,6005,2158],{"class":2129},[2108,6007,6008,6011,6013],{"class":2110,"line":3295},[2108,6009,6010],{"class":2136},"        prefetchOn",[2108,6012,2140],{"class":2129},[2108,6014,2143],{"class":2129},[2108,6016,6017,6020,6022,6024],{"class":2110,"line":3322},[2108,6018,6019],{"class":2136},"          visibility",[2108,6021,2140],{"class":2129},[2108,6023,2155],{"class":2154},[2108,6025,2158],{"class":2129},[2108,6027,6028],{"class":2110,"line":3345},[2108,6029,6030],{"class":2129},"        },\n",[2108,6032,6033],{"class":2110,"line":3350},[2108,6034,6035],{"class":2129},"      },\n",[2108,6037,6038,6041,6043],{"class":2110,"line":5886},[2108,6039,6040],{"class":2136},"      useAsyncData",[2108,6042,2140],{"class":2129},[2108,6044,2143],{"class":2129},[2108,6046,6047,6050,6052,6054],{"class":2110,"line":5891},[2108,6048,6049],{"class":2136},"        deep",[2108,6051,2140],{"class":2129},[2108,6053,2155],{"class":2154},[2108,6055,2158],{"class":2129},[2108,6057,6058],{"class":2110,"line":5916},[2108,6059,6035],{"class":2129},[2108,6061,6063,6066,6068],{"class":2110,"line":6062},14,[2108,6064,6065],{"class":2136},"      useState",[2108,6067,2140],{"class":2129},[2108,6069,2143],{"class":2129},[2108,6071,6073,6076,6078,6080],{"class":2110,"line":6072},15,[2108,6074,6075],{"class":2136},"        resetOnClear",[2108,6077,2140],{"class":2129},[2108,6079,2155],{"class":2154},[2108,6081,2158],{"class":2129},[2108,6083,6085],{"class":2110,"line":6084},16,[2108,6086,6035],{"class":2129},[2108,6088,6090],{"class":2110,"line":6089},17,[2108,6091,4865],{"class":2129},[2108,6093,6095],{"class":2110,"line":6094},18,[2108,6096,2164],{"class":2129},[2108,6098,6100,6102],{"class":2110,"line":6099},19,[2108,6101,2170],{"class":2129},[2108,6103,2173],{"class":2125},[2038,6105,4704,6106,6109,6110,6114,6115,6118,6119,6123,6124,6127,6128,5101,6131,2664],{},[2045,6107,6108],{},"useState.resetOnClear"," option controls whether ",[2050,6111,6112],{"href":1578},[2045,6113,654],{}," resets state to its initial value (provided by the ",[2045,6116,6117],{},"init"," function of ",[2050,6120,6121],{"href":1553},[2045,6122,619],{},") instead of setting it to ",[2045,6125,6126],{},"undefined",". This defaults to ",[2045,6129,6130],{},"true",[2045,6132,6133],{},"compatibilityVersion: 5",[2068,6135,6137],{"id":6136},"purgecacheddata","purgeCachedData",[2038,6139,6140],{},"Whether to clean up Nuxt static and asyncData caches on route navigation.",[2038,6142,6143,6144,2086,6146,6149],{},"Nuxt will automatically purge cached data from ",[2045,6145,515],{},[2045,6147,6148],{},"nuxtApp.static.data",". This helps prevent memory leaks and ensures fresh data is loaded when needed, but it is possible to disable it.",[2038,6151,2183],{},[2098,6153,6155],{"className":2100,"code":6154,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    purgeCachedData: false,\n  },\n})\n",[2045,6156,6157,6169,6177,6188,6192],{"__ignoreMap":2104},[2108,6158,6159,6161,6163,6165,6167],{"class":2110,"line":2111},[2108,6160,2115],{"class":2114},[2108,6162,2118],{"class":2114},[2108,6164,2122],{"class":2121},[2108,6166,2126],{"class":2125},[2108,6168,2130],{"class":2129},[2108,6170,6171,6173,6175],{"class":2110,"line":2133},[2108,6172,2137],{"class":2136},[2108,6174,2140],{"class":2129},[2108,6176,2143],{"class":2129},[2108,6178,6179,6182,6184,6186],{"class":2110,"line":2146},[2108,6180,6181],{"class":2136},"    purgeCachedData",[2108,6183,2140],{"class":2129},[2108,6185,2218],{"class":2154},[2108,6187,2158],{"class":2129},[2108,6189,6190],{"class":2110,"line":2161},[2108,6191,2164],{"class":2129},[2108,6193,6194,6196],{"class":2110,"line":2167},[2108,6195,2170],{"class":2129},[2108,6197,2173],{"class":2125},[2289,6199,6201],{"to":6200,"icon":2292,"target":2293,"color":5378},"https://github.com/nuxt/nuxt/pull/31379",[2038,6202,6203],{},"See PR #31379 for implementation details.",[2068,6205,6207],{"id":6206},"granularcacheddata","granularCachedData",[2038,6209,6210,6211,6214,6215,2086,6217,6219,6220,2360,6223,6226,6227,2881],{},"Whether to call and use the result from ",[2045,6212,6213],{},"getCachedData"," when refreshing data for ",[2045,6216,515],{},[2045,6218,527],{}," (whether by ",[2045,6221,6222],{},"watch",[2045,6224,6225],{},"refreshNuxtData()",", or a manual ",[2045,6228,6229],{},"refresh()",[2038,6231,2183],{},[2098,6233,6235],{"className":2100,"code":6234,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    granularCachedData: false,\n  },\n})\n",[2045,6236,6237,6249,6257,6268,6272],{"__ignoreMap":2104},[2108,6238,6239,6241,6243,6245,6247],{"class":2110,"line":2111},[2108,6240,2115],{"class":2114},[2108,6242,2118],{"class":2114},[2108,6244,2122],{"class":2121},[2108,6246,2126],{"class":2125},[2108,6248,2130],{"class":2129},[2108,6250,6251,6253,6255],{"class":2110,"line":2133},[2108,6252,2137],{"class":2136},[2108,6254,2140],{"class":2129},[2108,6256,2143],{"class":2129},[2108,6258,6259,6262,6264,6266],{"class":2110,"line":2146},[2108,6260,6261],{"class":2136},"    granularCachedData",[2108,6263,2140],{"class":2129},[2108,6265,2218],{"class":2154},[2108,6267,2158],{"class":2129},[2108,6269,6270],{"class":2110,"line":2161},[2108,6271,2164],{"class":2129},[2108,6273,6274,6276],{"class":2110,"line":2167},[2108,6275,2170],{"class":2129},[2108,6277,2173],{"class":2125},[2289,6279,6281],{"to":6280,"icon":2292,"target":2293,"color":5378},"https://github.com/nuxt/nuxt/pull/31373",[2038,6282,6283],{},"See PR #31373 for implementation details.",[2068,6285,6287],{"id":6286},"headnext","headNext",[2038,6289,6290],{},"Use head optimisations:",[6292,6293,6294,6298],"ul",{},[6295,6296,6297],"li",{},"Add the capo.js head plugin in order to render tags in of the head in a more performant way.",[6295,6299,6300],{},"Uses the hash hydration plugin to reduce initial hydration",[2038,6302,2183],{},[2098,6304,6306],{"className":2100,"code":6305,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    headNext: false,\n  },\n})\n",[2045,6307,6308,6320,6328,6339,6343],{"__ignoreMap":2104},[2108,6309,6310,6312,6314,6316,6318],{"class":2110,"line":2111},[2108,6311,2115],{"class":2114},[2108,6313,2118],{"class":2114},[2108,6315,2122],{"class":2121},[2108,6317,2126],{"class":2125},[2108,6319,2130],{"class":2129},[2108,6321,6322,6324,6326],{"class":2110,"line":2133},[2108,6323,2137],{"class":2136},[2108,6325,2140],{"class":2129},[2108,6327,2143],{"class":2129},[2108,6329,6330,6333,6335,6337],{"class":2110,"line":2146},[2108,6331,6332],{"class":2136},"    headNext",[2108,6334,2140],{"class":2129},[2108,6336,2218],{"class":2154},[2108,6338,2158],{"class":2129},[2108,6340,6341],{"class":2110,"line":2161},[2108,6342,2164],{"class":2129},[2108,6344,6345,6347],{"class":2110,"line":2167},[2108,6346,2170],{"class":2129},[2108,6348,2173],{"class":2125},[2068,6350,6352],{"id":6351},"pendingwhenidle","pendingWhenIdle",[2038,6354,6355,6356,2086,6358,6360,6361,6364,6365,6367],{},"For ",[2045,6357,515],{},[2045,6359,527],{},", whether ",[2045,6362,6363],{},"pending"," should be ",[2045,6366,6130],{}," when data has not yet started to be fetched.",[2038,6369,2096],{},[2098,6371,6373],{"className":2100,"code":6372,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    pendingWhenIdle: true,\n  },\n})\n",[2045,6374,6375,6387,6395,6406,6410],{"__ignoreMap":2104},[2108,6376,6377,6379,6381,6383,6385],{"class":2110,"line":2111},[2108,6378,2115],{"class":2114},[2108,6380,2118],{"class":2114},[2108,6382,2122],{"class":2121},[2108,6384,2126],{"class":2125},[2108,6386,2130],{"class":2129},[2108,6388,6389,6391,6393],{"class":2110,"line":2133},[2108,6390,2137],{"class":2136},[2108,6392,2140],{"class":2129},[2108,6394,2143],{"class":2129},[2108,6396,6397,6400,6402,6404],{"class":2110,"line":2146},[2108,6398,6399],{"class":2136},"    pendingWhenIdle",[2108,6401,2140],{"class":2129},[2108,6403,2155],{"class":2154},[2108,6405,2158],{"class":2129},[2108,6407,6408],{"class":2110,"line":2161},[2108,6409,2164],{"class":2129},[2108,6411,6412,6414],{"class":2110,"line":2167},[2108,6413,2170],{"class":2129},[2108,6415,2173],{"class":2125},[2068,6417,6419],{"id":6418},"entryimportmap","entryImportMap",[2038,6421,6422],{},"By default, Nuxt improves chunk stability by using an import map to resolve the entry chunk of the bundle.",[2038,6424,6425,6426,6429],{},"This injects an import map at the top of your ",[2045,6427,6428],{},"\u003Chead>"," tag:",[2098,6431,6433],{"className":5238,"code":6432,"language":5240,"meta":2104,"style":2104},"\u003Cscript type=\"importmap\">{\"imports\":{\"#entry\":\"/_nuxt/DC5HVSK5.js\"}}\u003C/script>\n",[2045,6434,6435],{"__ignoreMap":2104},[2108,6436,6437,6439,6441,6444,6446,6448,6451,6453,6456,6459,6461,6463],{"class":2110,"line":2111},[2108,6438,2499],{"class":2129},[2108,6440,2502],{"class":2136},[2108,6442,6443],{"class":2505}," type",[2108,6445,4066],{"class":2129},[2108,6447,4732],{"class":2129},[2108,6449,6450],{"class":2539},"importmap",[2108,6452,4732],{"class":2129},[2108,6454,6455],{"class":2129},">",[2108,6457,6458],{"class":2125},"{\"imports\":{\"#entry\":\"/_nuxt/DC5HVSK5.js\"}}",[2108,6460,2589],{"class":2129},[2108,6462,2502],{"class":2136},[2108,6464,2509],{"class":2129},[2038,6466,6467,6468,6471],{},"Within the script chunks emitted by Vite, imports will be from ",[2045,6469,6470],{},"#entry",". This means that changes to the entry will not invalidate chunks which are otherwise unchanged.",[2062,6473,6474],{},[2038,6475,6476,6477,6480,6481,6484,6485,2664],{},"Nuxt smartly disables this feature if you have configured ",[2045,6478,6479],{},"vite.build.target"," to include a browser that doesn't support import maps, or if you have configured ",[2045,6482,6483],{},"vite.build.rollupOptions.output.entryFileNames"," to a value that does not include ",[2045,6486,6487],{},"[hash]",[2038,6489,6490],{},"If you need to disable this feature you can do so:",[2098,6492,6494],{"className":2100,"code":6493,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    entryImportMap: false,\n  },\n  // or, better, simply tell vite your desired target\n  // which nuxt will respect\n  vite: {\n    build: {\n      target: 'safari13',\n    },\n  },\n})\n",[2045,6495,6496,6508,6516,6527,6531,6536,6541,6550,6559,6575,6579,6583],{"__ignoreMap":2104},[2108,6497,6498,6500,6502,6504,6506],{"class":2110,"line":2111},[2108,6499,2115],{"class":2114},[2108,6501,2118],{"class":2114},[2108,6503,2122],{"class":2121},[2108,6505,2126],{"class":2125},[2108,6507,2130],{"class":2129},[2108,6509,6510,6512,6514],{"class":2110,"line":2133},[2108,6511,2137],{"class":2136},[2108,6513,2140],{"class":2129},[2108,6515,2143],{"class":2129},[2108,6517,6518,6521,6523,6525],{"class":2110,"line":2146},[2108,6519,6520],{"class":2136},"    entryImportMap",[2108,6522,2140],{"class":2129},[2108,6524,2218],{"class":2154},[2108,6526,2158],{"class":2129},[2108,6528,6529],{"class":2110,"line":2161},[2108,6530,2164],{"class":2129},[2108,6532,6533],{"class":2110,"line":2167},[2108,6534,6535],{"class":2493},"  // or, better, simply tell vite your desired target\n",[2108,6537,6538],{"class":2110,"line":2586},[2108,6539,6540],{"class":2493},"  // which nuxt will respect\n",[2108,6542,6543,6546,6548],{"class":2110,"line":3295},[2108,6544,6545],{"class":2136},"  vite",[2108,6547,2140],{"class":2129},[2108,6549,2143],{"class":2129},[2108,6551,6552,6555,6557],{"class":2110,"line":3322},[2108,6553,6554],{"class":2136},"    build",[2108,6556,2140],{"class":2129},[2108,6558,2143],{"class":2129},[2108,6560,6561,6564,6566,6568,6571,6573],{"class":2110,"line":3345},[2108,6562,6563],{"class":2136},"      target",[2108,6565,2140],{"class":2129},[2108,6567,2789],{"class":2129},[2108,6569,6570],{"class":2539},"safari13",[2108,6572,2536],{"class":2129},[2108,6574,2158],{"class":2129},[2108,6576,6577],{"class":2110,"line":3350},[2108,6578,4865],{"class":2129},[2108,6580,6581],{"class":2110,"line":5886},[2108,6582,2164],{"class":2129},[2108,6584,6585,6587],{"class":2110,"line":5891},[2108,6586,2170],{"class":2129},[2108,6588,2173],{"class":2125},[2068,6590,6592],{"id":6591},"typescriptplugin","typescriptPlugin",[2038,6594,6595,6596,6599],{},"Enable enhanced TypeScript developer experience with the ",[2045,6597,6598],{},"@dxup/nuxt"," module.",[2038,6601,6602],{},"This experimental plugin provides improved TypeScript integration and development tooling for better DX when working with TypeScript in Nuxt applications.",[2038,6604,2096],{},[2098,6606,6608],{"className":2100,"code":6607,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    typescriptPlugin: true,\n  },\n})\n",[2045,6609,6610,6622,6630,6641,6645],{"__ignoreMap":2104},[2108,6611,6612,6614,6616,6618,6620],{"class":2110,"line":2111},[2108,6613,2115],{"class":2114},[2108,6615,2118],{"class":2114},[2108,6617,2122],{"class":2121},[2108,6619,2126],{"class":2125},[2108,6621,2130],{"class":2129},[2108,6623,6624,6626,6628],{"class":2110,"line":2133},[2108,6625,2137],{"class":2136},[2108,6627,2140],{"class":2129},[2108,6629,2143],{"class":2129},[2108,6631,6632,6635,6637,6639],{"class":2110,"line":2146},[2108,6633,6634],{"class":2136},"    typescriptPlugin",[2108,6636,2140],{"class":2129},[2108,6638,2155],{"class":2154},[2108,6640,2158],{"class":2129},[2108,6642,6643],{"class":2110,"line":2161},[2108,6644,2164],{"class":2129},[2108,6646,6647,6649],{"class":2110,"line":2167},[2108,6648,2170],{"class":2129},[2108,6650,2173],{"class":2125},[2705,6652,6653,6656],{},[2038,6654,6655],{},"To use this feature, you need to:",[6292,6657,6658,6665],{},[6295,6659,6660,6661,6664],{},"Have ",[2045,6662,6663],{},"typescript"," installed as a dependency",[6295,6666,6667,6668,2661],{},"Configure VS Code to use your workspace TypeScript version (see ",[2050,6669,6672],{"href":6670,"rel":6671},"https://code.visualstudio.com/docs/typescript/typescript-compiling#_using-the-workspace-version-of-typescript",[2058],"VS Code documentation",[2289,6674,6676],{"to":6675,"icon":2292,"target":2293},"https://github.com/KazariEX/dxup",[2038,6677,6678,6679,2664],{},"Learn more about ",[2711,6680,6598],{},[2068,6682,6684],{"id":6683},"viteenvironmentapi","viteEnvironmentApi",[2038,6686,6687,6688,6693],{},"Enable Vite 6's new ",[2050,6689,6692],{"href":6690,"rel":6691},"https://vite.dev/guide/api-environment",[2058],"Environment API"," for improved build configuration and plugin architecture.",[2038,6695,6696,6697,6699,6700,6702],{},"When you set ",[2045,6698,5119],{}," to ",[2045,6701,5123],{},", this feature is enabled by default. You can also enable it explicitly for testing:",[2098,6704,6706],{"className":2100,"code":6705,"filename":233,"language":2102,"meta":2103,"style":2104},"export default defineNuxtConfig({\n  experimental: {\n    viteEnvironmentApi: true,\n  },\n})\n",[2045,6707,6708,6720,6728,6739,6743],{"__ignoreMap":2104},[2108,6709,6710,6712,6714,6716,6718],{"class":2110,"line":2111},[2108,6711,2115],{"class":2114},[2108,6713,2118],{"class":2114},[2108,6715,2122],{"class":2121},[2108,6717,2126],{"class":2125},[2108,6719,2130],{"class":2129},[2108,6721,6722,6724,6726],{"class":2110,"line":2133},[2108,6723,2137],{"class":2136},[2108,6725,2140],{"class":2129},[2108,6727,2143],{"class":2129},[2108,6729,6730,6733,6735,6737],{"class":2110,"line":2146},[2108,6731,6732],{"class":2136},"    viteEnvironmentApi",[2108,6734,2140],{"class":2129},[2108,6736,2155],{"class":2154},[2108,6738,2158],{"class":2129},[2108,6740,6741],{"class":2110,"line":2161},[2108,6742,2164],{"class":2129},[2108,6744,6745,6747],{"class":2110,"line":2167},[2108,6746,2170],{"class":2129},[2108,6748,2173],{"class":2125},[2038,6750,6751],{},"The Vite Environment API provides better consistency between development and production builds, more granular control over environment-specific configuration, and improved performance.",[2705,6753,6754],{},[2038,6755,6756,6757,6761],{},"Enabling this feature changes how Vite plugins are registered and configured. See the ",[2050,6758,6760],{"href":6759},"/docs/4.x/getting-started/upgrade#migration-to-vite-environment-api","Vite Environment API migration guide"," for details on updating your plugins.",[2289,6763,6764],{"to":6690,"target":2293},[2038,6765,6766],{},"Learn more about Vite's Environment API.",[6768,6769,6770],"style",{},"html pre.shiki code .s8R28, html code.shiki .s8R28{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s3cPz, html code.shiki .s3cPz{--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF}html pre.shiki code .sZSNi, html code.shiki .sZSNi{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}html pre.shiki code .sDfIl, html code.shiki .sDfIl{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .sRlkE, html code.shiki .sRlkE{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}html pre.shiki code .sbKd-, html code.shiki .sbKd-{--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sWuyu, html code.shiki .sWuyu{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .smZ93, html code.shiki .smZ93{--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA}html pre.shiki code .sGFVr, html code.shiki .sGFVr{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}html pre.shiki code .s1nJG, html code.shiki .s1nJG{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sYRBq, html code.shiki .sYRBq{--shiki-light:#F76D47;--shiki-default:#F76D47;--shiki-dark:#F78C6C}html pre.shiki code .s52Pk, html code.shiki .s52Pk{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}",{"title":2104,"searchDepth":2133,"depth":2133,"links":6772},[6773,6774,6775,6776,6777,6778,6779,6780,6781,6782,6783,6784,6785,6786,6787,6788,6789,6790,6791,6792,6793,6794,6795,6796,6797,6798,6799,6800,6801,6802,6803,6804,6805,6806,6807,6808,6809,6810,6811,6814,6815,6816,6817,6818,6819,6820,6821],{"id":2070,"depth":2133,"text":2071},{"id":2176,"depth":2133,"text":2177},{"id":2233,"depth":2133,"text":2234},{"id":2299,"depth":2133,"text":2300},{"id":2352,"depth":2133,"text":2353},{"id":2424,"depth":2133,"text":2425},{"id":2717,"depth":2133,"text":2718},{"id":2811,"depth":2133,"text":2812},{"id":2867,"depth":2133,"text":2868},{"id":2943,"depth":2133,"text":2944},{"id":3017,"depth":2133,"text":3018},{"id":3072,"depth":2133,"text":3073},{"id":3125,"depth":2133,"text":3126},{"id":3184,"depth":2133,"text":3185},{"id":3357,"depth":2133,"text":3358},{"id":3415,"depth":2133,"text":3416},{"id":3478,"depth":2133,"text":3479},{"id":3544,"depth":2133,"text":3545},{"id":3597,"depth":2133,"text":3598},{"id":3670,"depth":2133,"text":3671},{"id":3738,"depth":2133,"text":3739},{"id":3874,"depth":2133,"text":3874},{"id":3964,"depth":2133,"text":3965},{"id":4264,"depth":2133,"text":4265},{"id":4336,"depth":2133,"text":4337},{"id":4431,"depth":2133,"text":4432},{"id":4497,"depth":2133,"text":4498},{"id":4631,"depth":2133,"text":4632},{"id":4700,"depth":2133,"text":4701},{"id":4889,"depth":2133,"text":4890},{"id":4947,"depth":2133,"text":4948},{"id":5059,"depth":2133,"text":5060},{"id":5217,"depth":2133,"text":5218},{"id":5321,"depth":2133,"text":5322},{"id":5391,"depth":2133,"text":5392},{"id":5464,"depth":2133,"text":5465},{"id":5530,"depth":2133,"text":5531},{"id":5597,"depth":2133,"text":5598},{"id":5677,"depth":2133,"text":5677,"children":6812},[6813],{"id":5729,"depth":2146,"text":5730},{"id":5922,"depth":2133,"text":5922},{"id":6136,"depth":2133,"text":6137},{"id":6206,"depth":2133,"text":6207},{"id":6286,"depth":2133,"text":6287},{"id":6351,"depth":2133,"text":6352},{"id":6418,"depth":2133,"text":6419},{"id":6591,"depth":2133,"text":6592},{"id":6683,"depth":2133,"text":6684},"Enable Nuxt experimental features to unlock new possibilities.","md",{},{"title":391,"description":6822},"pFopXHoLwZTdiriXmwhQlr2KiJOmW_ETcuWGn6OjfOw",[6828,6830],{"title":387,"path":1374,"stem":1375,"description":6829,"children":-1},"Nuxt provides a powerful event system powered by hookable.",{"title":395,"path":1380,"stem":1381,"description":6831,"children":-1},"Enable or disable optional Nuxt features to unlock new possibilities.",1772100233561]