[{"data":1,"prerenderedAt":6477},["ShallowReactive",2],{"$fGCo9l1hMtNdUiA6QzdUX5X3kLqaWcC5t2kdz4LrvCvc":3,"versions":2937,"-docs-3-x-directory-structure-components":2942,"-docs-3-x-directory-structure-components-surround":6472},[4,1128,2029,2848],{"title":5,"titleTemplate":6,"icon":7,"path":8,"stem":9,"children":10,"page":108},"Документация",null,"i-lucide-book-marked","/docs/3.x","docs/3.x",[11,109,234,425,910,1005,1042,1085],{"title":12,"titleTemplate":13,"icon":14,"path":15,"stem":16,"children":17,"page":108},"Начало работы","%s · Начало работы с 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},"Введение","/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},"Установка","/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},"Настройка","/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},"Представления","/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},"Ассеты","/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},"Стилизация","/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},"Маршрутизация","/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 и 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},"Переходы","/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},"Получение данных","/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},"Управление состоянием","/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},"Обработка ошибок","/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},"Сервер","/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},"Слои","/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},"Пререндеринг","/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},"Развёртывание","/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},"Тестирование","/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},"Руководство по обновлению","/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},"Структура каталогов","%s · Структура каталогов Nuxt","i-vscode-icons-default-folder","/docs/3.x/directory-structure","docs/3.x/2.directory-structure",[116,121,125,129,134,138,142,147,152,157,161,165,169,174,178,183,187,191,196,200,205,209,213,217,221,225,229],{"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-lucide-folder",{"title":122,"path":123,"stem":124,"titleTemplate":6,"icon":120},".output","/docs/3.x/directory-structure/output","docs/3.x/2.directory-structure/0.output",{"title":126,"path":127,"stem":128,"titleTemplate":6,"icon":120},"assets","/docs/3.x/directory-structure/assets","docs/3.x/2.directory-structure/1.assets",{"title":130,"path":131,"stem":132,"titleTemplate":6,"icon":133},"components","/docs/3.x/directory-structure/components","docs/3.x/2.directory-structure/1.components","i-vscode-icons-folder-type-component",{"title":135,"path":136,"stem":137,"titleTemplate":6,"icon":120},"composables","/docs/3.x/directory-structure/composables","docs/3.x/2.directory-structure/1.composables",{"title":139,"path":140,"stem":141,"titleTemplate":6,"icon":120},"content","/docs/3.x/directory-structure/content","docs/3.x/2.directory-structure/1.content",{"title":143,"path":144,"stem":145,"titleTemplate":6,"icon":146},"layers","/docs/3.x/directory-structure/layers","docs/3.x/2.directory-structure/1.layers","i-vscode-icons-folder-type-nuxt",{"title":148,"path":149,"stem":150,"titleTemplate":6,"icon":151},"layouts","/docs/3.x/directory-structure/layouts","docs/3.x/2.directory-structure/1.layouts","i-vscode-icons-folder-type-view",{"title":153,"path":154,"stem":155,"titleTemplate":6,"icon":156},"middleware","/docs/3.x/directory-structure/middleware","docs/3.x/2.directory-structure/1.middleware","i-vscode-icons-folder-type-middleware",{"title":158,"path":159,"stem":160,"titleTemplate":6,"icon":146},"modules","/docs/3.x/directory-structure/modules","docs/3.x/2.directory-structure/1.modules",{"title":162,"path":163,"stem":164,"titleTemplate":6,"icon":120},"node_modules","/docs/3.x/directory-structure/node_modules","docs/3.x/2.directory-structure/1.node_modules",{"title":166,"path":167,"stem":168,"titleTemplate":6,"icon":151},"pages","/docs/3.x/directory-structure/pages","docs/3.x/2.directory-structure/1.pages",{"title":170,"path":171,"stem":172,"titleTemplate":6,"icon":173},"plugins","/docs/3.x/directory-structure/plugins","docs/3.x/2.directory-structure/1.plugins","i-vscode-icons-folder-type-plugin",{"title":175,"path":176,"stem":177,"titleTemplate":6,"icon":120},"public","/docs/3.x/directory-structure/public","docs/3.x/2.directory-structure/1.public",{"title":179,"path":180,"stem":181,"titleTemplate":6,"icon":182},"server","/docs/3.x/directory-structure/server","docs/3.x/2.directory-structure/1.server","i-vscode-icons-folder-type-server",{"title":184,"path":185,"stem":186,"titleTemplate":6,"icon":120},"shared","/docs/3.x/directory-structure/shared","docs/3.x/2.directory-structure/1.shared",{"title":188,"path":189,"stem":190,"titleTemplate":6,"icon":120},"utils","/docs/3.x/directory-structure/utils","docs/3.x/2.directory-structure/1.utils",{"title":192,"path":193,"stem":194,"titleTemplate":6,"icon":195},".env","/docs/3.x/directory-structure/env","docs/3.x/2.directory-structure/2.env","i-lucide-file",{"title":197,"path":198,"stem":199,"titleTemplate":6,"icon":195},".gitignore","/docs/3.x/directory-structure/gitignore","docs/3.x/2.directory-structure/2.gitignore",{"title":201,"path":202,"stem":203,"titleTemplate":6,"icon":204},".nuxtignore","/docs/3.x/directory-structure/nuxtignore","docs/3.x/2.directory-structure/2.nuxtignore","i-vscode-icons-file-type-nuxt",{"title":206,"path":207,"stem":208,"titleTemplate":6,"icon":204},".nuxtrc","/docs/3.x/directory-structure/nuxtrc","docs/3.x/2.directory-structure/2.nuxtrc",{"title":210,"path":211,"stem":212,"titleTemplate":6,"icon":195},"app.vue","/docs/3.x/directory-structure/app","docs/3.x/2.directory-structure/3.app",{"title":214,"path":215,"stem":216,"titleTemplate":6,"icon":195},"app.config.ts","/docs/3.x/directory-structure/app-config","docs/3.x/2.directory-structure/3.app-config",{"title":218,"path":219,"stem":220,"titleTemplate":6,"icon":195},"error.vue","/docs/3.x/directory-structure/error","docs/3.x/2.directory-structure/3.error",{"title":222,"path":223,"stem":224,"titleTemplate":6,"icon":195},"nuxt.config.ts","/docs/3.x/directory-structure/nuxt-config","docs/3.x/2.directory-structure/3.nuxt-config",{"title":226,"path":227,"stem":228,"titleTemplate":6,"icon":195},"package.json","/docs/3.x/directory-structure/package","docs/3.x/2.directory-structure/3.package",{"title":230,"path":231,"stem":232,"titleTemplate":6,"icon":233},"tsconfig.json","/docs/3.x/directory-structure/tsconfig","docs/3.x/2.directory-structure/3.tsconfig","i-vscode-icons-file-type-tsconfig",{"title":235,"titleTemplate":6,"icon":236,"path":237,"stem":238,"children":239,"page":108},"Руководство","i-lucide-book-open","/docs/3.x/guide","docs/3.x/3.guide",[240,283,302,317,351,374],{"title":241,"titleTemplate":242,"icon":243,"path":244,"stem":245,"children":246,"page":108},"Ключевые концепции","%s · Концепции Nuxt","i-lucide-medal","/docs/3.x/guide/concepts","docs/3.x/3.guide/1.concepts",[247,251,255,259,263,267,271,275,279],{"title":248,"path":249,"stem":250,"titleTemplate":6},"Режимы рендеринга","/docs/3.x/guide/concepts/rendering","docs/3.x/3.guide/1.concepts/1.rendering",{"title":252,"path":253,"stem":254,"titleTemplate":6},"Разработка при помощи Vue.js","/docs/3.x/guide/concepts/vuejs-development","docs/3.x/3.guide/1.concepts/10.vuejs-development",{"title":256,"path":257,"stem":258,"titleTemplate":6},"Жизненный цикл Nuxt","/docs/3.x/guide/concepts/nuxt-lifecycle","docs/3.x/3.guide/1.concepts/2.nuxt-lifecycle",{"title":260,"path":261,"stem":262,"titleTemplate":6},"Автоматические импорты","/docs/3.x/guide/concepts/auto-imports","docs/3.x/3.guide/1.concepts/3.auto-imports",{"title":264,"path":265,"stem":266,"titleTemplate":6},"Серверный движок","/docs/3.x/guide/concepts/server-engine","docs/3.x/3.guide/1.concepts/4.server-engine",{"title":268,"path":269,"stem":270,"titleTemplate":6},"Модули","/docs/3.x/guide/concepts/modules","docs/3.x/3.guide/1.concepts/5.modules",{"title":272,"path":273,"stem":274,"titleTemplate":6},"Модули ES","/docs/3.x/guide/concepts/esm","docs/3.x/3.guide/1.concepts/7.esm",{"title":276,"path":277,"stem":278,"titleTemplate":6},"TypeScript","/docs/3.x/guide/concepts/typescript","docs/3.x/3.guide/1.concepts/8.typescript",{"title":280,"path":281,"stem":282,"titleTemplate":6},"Стиль кода","/docs/3.x/guide/concepts/code-style","docs/3.x/3.guide/1.concepts/9.code-style",{"title":284,"titleTemplate":285,"icon":286,"path":287,"stem":288,"children":289,"page":108},"Лучшие практики","%s · Лучшие практики","i-lucide-square-check","/docs/3.x/guide/best-practices","docs/3.x/3.guide/2.best-practices",[290,294,298],{"title":291,"path":292,"stem":293,"titleTemplate":6},"Nuxt и гидратация","/docs/3.x/guide/best-practices/hydration","docs/3.x/3.guide/2.best-practices/hydration",{"title":295,"path":296,"stem":297,"titleTemplate":6},"Производительность Nuxt","/docs/3.x/guide/best-practices/performance","docs/3.x/3.guide/2.best-practices/performance",{"title":299,"path":300,"stem":301,"titleTemplate":6},"Плагины Nuxt","/docs/3.x/guide/best-practices/plugins","docs/3.x/3.guide/2.best-practices/plugins",{"title":303,"titleTemplate":304,"icon":305,"path":306,"stem":307,"children":308,"page":108},"Работа с ИИ","Работа с ИИ: %s","i-lucide-bot","/docs/3.x/guide/ai","docs/3.x/3.guide/3.ai",[309,313],{"title":310,"path":311,"stem":312,"titleTemplate":6},"Сервер MCP","/docs/3.x/guide/ai/mcp","docs/3.x/3.guide/3.ai/1.mcp",{"title":314,"path":315,"stem":316,"titleTemplate":6},"LLMs.txt","/docs/3.x/guide/ai/llms-txt","docs/3.x/3.guide/3.ai/2.llms-txt",{"title":318,"titleTemplate":319,"icon":320,"path":321,"stem":322,"children":323,"page":108},"Руководство автора модулей","%s · Модули Nuxt","i-lucide-box","/docs/3.x/guide/modules","docs/3.x/3.guide/4.modules",[324,328,332,336,340,344,347],{"title":325,"path":326,"stem":327,"titleTemplate":6},"Первый модуль","/docs/3.x/guide/modules/getting-started","docs/3.x/3.guide/4.modules/1.getting-started",{"title":329,"path":330,"stem":331,"titleTemplate":6},"Структура модуля","/docs/3.x/guide/modules/module-anatomy","docs/3.x/3.guide/4.modules/2.module-anatomy",{"title":333,"path":334,"stem":335,"titleTemplate":6},"Добавление плагинов, компонентов и прочего","/docs/3.x/guide/modules/recipes-basics","docs/3.x/3.guide/4.modules/3.recipes-basics",{"title":337,"path":338,"stem":339,"titleTemplate":6},"Хуки и типы","/docs/3.x/guide/modules/recipes-advanced","docs/3.x/3.guide/4.modules/4.recipes-advanced",{"title":341,"path":342,"stem":343,"titleTemplate":6},"Тестирование модуля","/docs/3.x/guide/modules/testing","docs/3.x/3.guide/4.modules/5.testing",{"title":284,"path":345,"stem":346,"titleTemplate":6},"/docs/3.x/guide/modules/best-practices","docs/3.x/3.guide/4.modules/6.best-practices",{"title":348,"path":349,"stem":350,"titleTemplate":6},"Публикация и экосистема","/docs/3.x/guide/modules/ecosystem","docs/3.x/3.guide/4.modules/7.ecosystem",{"title":352,"titleTemplate":353,"icon":354,"path":355,"stem":356,"children":357,"page":108},"Рецепты","%s · Рецепты","i-lucide-cooking-pot","/docs/3.x/guide/recipes","docs/3.x/3.guide/5.recipes",[358,362,366,370],{"title":359,"path":360,"stem":361,"titleTemplate":6},"Пользовательский роутинг","/docs/3.x/guide/recipes/custom-routing","docs/3.x/3.guide/5.recipes/1.custom-routing",{"title":363,"path":364,"stem":365,"titleTemplate":6},"Плагины Vite","/docs/3.x/guide/recipes/vite-plugin","docs/3.x/3.guide/5.recipes/2.vite-plugin",{"title":367,"path":368,"stem":369,"titleTemplate":6},"Пользовательский useFetch","/docs/3.x/guide/recipes/custom-usefetch","docs/3.x/3.guide/5.recipes/3.custom-usefetch",{"title":371,"path":372,"stem":373,"titleTemplate":6},"Сессии и аутентификация","/docs/3.x/guide/recipes/sessions-and-authentication","docs/3.x/3.guide/5.recipes/4.sessions-and-authentication",{"title":375,"titleTemplate":376,"icon":377,"path":378,"stem":379,"children":380,"page":108},"Дальнейшее изучение","%s · Продвинутые темы Nuxt","i-lucide-star","/docs/3.x/guide/going-further","docs/3.x/3.guide/6.going-further",[381,385,389,393,397,401,405,409,413,417,421],{"title":382,"path":383,"stem":384,"titleTemplate":6},"События","/docs/3.x/guide/going-further/events","docs/3.x/3.guide/6.going-further/1.events",{"title":386,"path":387,"stem":388,"titleTemplate":6},"Экспериментальные возможности","/docs/3.x/guide/going-further/experimental-features","docs/3.x/3.guide/6.going-further/1.experimental-features",{"title":390,"path":391,"stem":392,"titleTemplate":6},"Возможности","/docs/3.x/guide/going-further/features","docs/3.x/3.guide/6.going-further/1.features",{"title":394,"path":395,"stem":396,"titleTemplate":6},"Как работает Nuxt?","/docs/3.x/guide/going-further/internals","docs/3.x/3.guide/6.going-further/1.internals",{"title":398,"path":399,"stem":400,"titleTemplate":6},"Конфигурация времени выполнения","/docs/3.x/guide/going-further/runtime-config","docs/3.x/3.guide/6.going-further/10.runtime-config",{"title":402,"path":403,"stem":404,"titleTemplate":6},"Канал ночных релизов","/docs/3.x/guide/going-further/nightly-release-channel","docs/3.x/3.guide/6.going-further/11.nightly-release-channel",{"title":406,"path":407,"stem":408,"titleTemplate":6},"Хуки жизненного цикла","/docs/3.x/guide/going-further/hooks","docs/3.x/3.guide/6.going-further/2.hooks",{"title":410,"path":411,"stem":412,"titleTemplate":6},"Nuxt Kit","/docs/3.x/guide/going-further/kit","docs/3.x/3.guide/6.going-further/4.kit",{"title":414,"path":415,"stem":416,"titleTemplate":6},"NuxtApp","/docs/3.x/guide/going-further/nuxt-app","docs/3.x/3.guide/6.going-further/6.nuxt-app",{"title":418,"path":419,"stem":420,"titleTemplate":6},"Создание авторских слоёв Nuxt","/docs/3.x/guide/going-further/layers","docs/3.x/3.guide/6.going-further/7.layers",{"title":422,"path":423,"stem":424,"titleTemplate":6},"Отладка","/docs/3.x/guide/going-further/debugging","docs/3.x/3.guide/6.going-further/9.debugging",{"title":426,"titleTemplate":427,"icon":428,"path":429,"stem":430,"children":431,"page":108},"Справочник API","%s · Справочник API Nuxt","i-lucide-code-xml","/docs/3.x/api","docs/3.x/4.api",[432,499,622,745,816,892,905],{"title":433,"titleTemplate":434,"icon":320,"path":435,"stem":436,"children":437,"page":108},"Компоненты","%s · Компоненты Nuxt","/docs/3.x/api/components","docs/3.x/4.api/1.components",[438,442,446,450,454,458,463,467,471,475,479,483,487,491,495],{"title":439,"path":440,"stem":441,"titleTemplate":6},"\u003CClientOnly>","/docs/3.x/api/components/client-only","docs/3.x/4.api/1.components/1.client-only",{"title":443,"path":444,"stem":445,"titleTemplate":6},"\u003CDevOnly>","/docs/3.x/api/components/dev-only","docs/3.x/4.api/1.components/1.dev-only",{"title":447,"path":448,"stem":449,"titleTemplate":6},"\u003CNuxtClientFallback>","/docs/3.x/api/components/nuxt-client-fallback","docs/3.x/4.api/1.components/1.nuxt-client-fallback",{"title":451,"path":452,"stem":453,"titleTemplate":6},"\u003CNuxtPicture>","/docs/3.x/api/components/nuxt-picture","docs/3.x/4.api/1.components/10.nuxt-picture",{"title":455,"path":456,"stem":457,"titleTemplate":6},"\u003CTeleport>","/docs/3.x/api/components/teleports","docs/3.x/4.api/1.components/11.teleports",{"title":459,"path":460,"stem":461,"titleTemplate":6,"badge":462},"\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},"Композаблы","%s · Композаблы Nuxt","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,"badge":462},"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},"Утилиты","%s · Утилиты Nuxt","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,"badge":462},"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,"badge":462},"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},"Команды","%s · Команды Nuxt","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 (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":410,"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,829,833,837,841,845,849,853,857,861,865,869,872,876,880,884,888],{"title":268,"path":823,"stem":824,"titleTemplate":6},"/docs/3.x/api/kit/modules","docs/3.x/4.api/5.kit/1.modules",{"title":826,"path":827,"stem":828,"titleTemplate":6},"Конфигурация runtime","/docs/3.x/api/kit/runtime-config","docs/3.x/4.api/5.kit/10.runtime-config",{"title":830,"path":831,"stem":832,"titleTemplate":6},"Шаблоны","/docs/3.x/api/kit/templates","docs/3.x/4.api/5.kit/10.templates",{"title":834,"path":835,"stem":836,"titleTemplate":6},"Nitro","/docs/3.x/api/kit/nitro","docs/3.x/4.api/5.kit/11.nitro",{"title":838,"path":839,"stem":840,"titleTemplate":6},"Разрешение путей","/docs/3.x/api/kit/resolving","docs/3.x/4.api/5.kit/12.resolving",{"title":842,"path":843,"stem":844,"titleTemplate":6},"Логирование","/docs/3.x/api/kit/logging","docs/3.x/4.api/5.kit/13.logging",{"title":846,"path":847,"stem":848,"titleTemplate":6},"Сборщик","/docs/3.x/api/kit/builder","docs/3.x/4.api/5.kit/14.builder",{"title":850,"path":851,"stem":852,"titleTemplate":6},"Примеры","/docs/3.x/api/kit/examples","docs/3.x/4.api/5.kit/15.examples",{"title":854,"path":855,"stem":856,"titleTemplate":6},"Слои (layers)","/docs/3.x/api/kit/layers","docs/3.x/4.api/5.kit/16.layers",{"title":858,"path":859,"stem":860,"titleTemplate":6},"Программное использование","/docs/3.x/api/kit/programmatic","docs/3.x/4.api/5.kit/2.programmatic",{"title":862,"path":863,"stem":864,"titleTemplate":6},"Совместимость","/docs/3.x/api/kit/compatibility","docs/3.x/4.api/5.kit/3.compatibility",{"title":866,"path":867,"stem":868,"titleTemplate":6},"Автоимпорты","/docs/3.x/api/kit/autoimports","docs/3.x/4.api/5.kit/4.autoimports",{"title":433,"path":870,"stem":871,"titleTemplate":6},"/docs/3.x/api/kit/components","docs/3.x/4.api/5.kit/5.components",{"title":873,"path":874,"stem":875,"titleTemplate":6},"Контекст","/docs/3.x/api/kit/context","docs/3.x/4.api/5.kit/6.context",{"title":877,"path":878,"stem":879,"titleTemplate":6},"Страницы","/docs/3.x/api/kit/pages","docs/3.x/4.api/5.kit/7.pages",{"title":881,"path":882,"stem":883,"titleTemplate":6},"Лейаут","/docs/3.x/api/kit/layout","docs/3.x/4.api/5.kit/8.layout",{"title":885,"path":886,"stem":887,"titleTemplate":6},"Мета-теги и head","/docs/3.x/api/kit/head","docs/3.x/4.api/5.kit/9.head",{"title":889,"path":890,"stem":891,"titleTemplate":6},"Плагины","/docs/3.x/api/kit/plugins","docs/3.x/4.api/5.kit/9.plugins",{"title":893,"titleTemplate":6,"icon":894,"path":895,"stem":896,"children":897,"page":108},"Advanced","i-lucide-brain","/docs/3.x/api/advanced","docs/3.x/4.api/6.advanced",[898,901],{"title":406,"path":899,"stem":900,"titleTemplate":6},"/docs/3.x/api/advanced/hooks","docs/3.x/4.api/6.advanced/1.hooks",{"title":902,"path":903,"stem":904,"titleTemplate":6},"Метаданные import.meta","/docs/3.x/api/advanced/import-meta","docs/3.x/4.api/6.advanced/2.import-meta",{"title":906,"path":907,"stem":908,"titleTemplate":909,"icon":32},"Конфигурация Nuxt","/docs/3.x/api/nuxt-config","docs/3.x/4.api/6.nuxt-config","%s",{"title":911,"titleTemplate":912,"icon":913,"path":914,"stem":915,"children":916,"page":108},"Examples","%s · Nuxt Examples","i-lucide-app-window-mac","/docs/3.x/examples","docs/3.x/4.examples",[917,921,943,959,996],{"title":918,"path":919,"stem":920,"titleTemplate":6},"Привет, мир","/docs/3.x/examples/hello-world","docs/3.x/4.examples/0.hello-world",{"title":922,"path":923,"stem":924,"children":925,"page":108},"Features","/docs/3.x/examples/features","docs/3.x/4.examples/1.features",[926,929,932,935,939],{"title":260,"path":927,"stem":928,"titleTemplate":6},"/docs/3.x/examples/features/auto-imports","docs/3.x/4.examples/1.features/1.auto-imports",{"title":64,"path":930,"stem":931,"titleTemplate":6},"/docs/3.x/examples/features/data-fetching","docs/3.x/4.examples/1.features/2.data-fetching",{"title":69,"path":933,"stem":934,"titleTemplate":6},"/docs/3.x/examples/features/state-management","docs/3.x/4.examples/1.features/3.state-management",{"title":936,"path":937,"stem":938,"titleTemplate":6},"Мета-теги","/docs/3.x/examples/features/meta-tags","docs/3.x/4.examples/1.features/4.meta-tags",{"title":940,"path":941,"stem":942,"titleTemplate":6},"Лэйауты","/docs/3.x/examples/features/layouts","docs/3.x/4.examples/1.features/5.layouts",{"title":944,"path":945,"stem":946,"children":947,"page":108},"Routing","/docs/3.x/examples/routing","docs/3.x/4.examples/2.routing",[948,952,955],{"title":949,"path":950,"stem":951,"titleTemplate":6},"Промежуточное ПО (Middleware)","/docs/3.x/examples/routing/middleware","docs/3.x/4.examples/2.routing/middleware",{"title":877,"path":953,"stem":954,"titleTemplate":6},"/docs/3.x/examples/routing/pages","docs/3.x/4.examples/2.routing/pages",{"title":956,"path":957,"stem":958,"titleTemplate":6},"Универсальный роутер","/docs/3.x/examples/routing/universal-router","docs/3.x/4.examples/2.routing/universal-router",{"title":893,"path":960,"stem":961,"children":962,"page":108},"/docs/3.x/examples/advanced","docs/3.x/4.examples/4.advanced",[963,966,969,973,977,981,985,988,992],{"title":84,"path":964,"stem":965,"titleTemplate":6},"/docs/3.x/examples/advanced/config-extends","docs/3.x/4.examples/4.advanced/config-extends",{"title":74,"path":967,"stem":968,"titleTemplate":6},"/docs/3.x/examples/advanced/error-handling","docs/3.x/4.examples/4.advanced/error-handling",{"title":970,"path":971,"stem":972,"titleTemplate":6},"Синтаксис JSX / TSX","/docs/3.x/examples/advanced/jsx","docs/3.x/4.examples/4.advanced/jsx",{"title":974,"path":975,"stem":976,"titleTemplate":6},"Локаль","/docs/3.x/examples/advanced/locale","docs/3.x/4.examples/4.advanced/locale",{"title":978,"path":979,"stem":980,"titleTemplate":6},"Модуль расширения страниц","/docs/3.x/examples/advanced/module-extend-pages","docs/3.x/4.examples/4.advanced/module-extend-pages",{"title":982,"path":983,"stem":984,"titleTemplate":6},"Телепорт","/docs/3.x/examples/advanced/teleport","docs/3.x/4.examples/4.advanced/teleport",{"title":99,"path":986,"stem":987,"titleTemplate":6},"/docs/3.x/examples/advanced/testing","docs/3.x/4.examples/4.advanced/testing",{"title":989,"path":990,"stem":991,"titleTemplate":6},"Композабл useCookie","/docs/3.x/examples/advanced/use-cookie","docs/3.x/4.examples/4.advanced/use-cookie",{"title":993,"path":994,"stem":995,"titleTemplate":6},"Использование пользовательского fetch-композабла","/docs/3.x/examples/advanced/use-custom-fetch-composable","docs/3.x/4.examples/4.advanced/use-custom-fetch-composable",{"title":997,"path":998,"stem":999,"children":1000,"page":108},"Experimental","/docs/3.x/examples/experimental","docs/3.x/4.examples/7.experimental",[1001],{"title":1002,"path":1003,"stem":1004,"titleTemplate":6},"WebAssembly (WASM)","/docs/3.x/examples/experimental/wasm","docs/3.x/4.examples/7.experimental/wasm",{"title":1006,"titleTemplate":1007,"icon":1008,"path":1009,"stem":1010,"children":1011,"page":108},"Сообщество","%s · Сообщество Nuxt","i-lucide-messages-square","/docs/3.x/community","docs/3.x/5.community",[1012,1017,1022,1027,1032,1037],{"title":1013,"path":1014,"stem":1015,"titleTemplate":6,"icon":1016},"Получение помощи","/docs/3.x/community/getting-help","docs/3.x/5.community/2.getting-help","i-lucide-life-buoy",{"title":1018,"path":1019,"stem":1020,"titleTemplate":6,"icon":1021},"Сообщение об ошибках","/docs/3.x/community/reporting-bugs","docs/3.x/5.community/3.reporting-bugs","i-lucide-bug",{"title":1023,"path":1024,"stem":1025,"titleTemplate":6,"icon":1026},"Вклад","/docs/3.x/community/contribution","docs/3.x/5.community/4.contribution","i-lucide-git-pull-request",{"title":1028,"path":1029,"stem":1030,"titleTemplate":6,"icon":1031},"Фреймворк","/docs/3.x/community/framework-contribution","docs/3.x/5.community/5.framework-contribution","i-lucide-github",{"title":1033,"path":1034,"stem":1035,"titleTemplate":6,"icon":1036},"План развития","/docs/3.x/community/roadmap","docs/3.x/5.community/6.roadmap","i-lucide-map",{"title":1038,"path":1039,"stem":1040,"titleTemplate":6,"icon":1041},"Релизы","/docs/3.x/community/changelog","docs/3.x/5.community/7.changelog","i-lucide-bell-dot",{"title":1043,"titleTemplate":1044,"icon":1045,"path":1046,"stem":1047,"children":1048,"page":108},"Nuxt Bridge","%s · Nuxt Bridge","i-lucide-ship","/docs/3.x/bridge","docs/3.x/6.bridge",[1049,1053,1057,1060,1064,1068,1072,1075,1078,1081],{"title":1050,"path":1051,"stem":1052,"titleTemplate":6},"Обзор","/docs/3.x/bridge/overview","docs/3.x/6.bridge/1.overview",{"title":1054,"path":1055,"stem":1056,"titleTemplate":6},"Конфигурация","/docs/3.x/bridge/configuration","docs/3.x/6.bridge/10.configuration",{"title":276,"path":1058,"stem":1059,"titleTemplate":6},"/docs/3.x/bridge/typescript","docs/3.x/6.bridge/2.typescript",{"title":1061,"path":1062,"stem":1063,"titleTemplate":6},"Устаревшее Composition API","/docs/3.x/bridge/bridge-composition-api","docs/3.x/6.bridge/3.bridge-composition-api",{"title":1065,"path":1066,"stem":1067,"titleTemplate":6},"Плагины и middleware","/docs/3.x/bridge/plugins-and-middleware","docs/3.x/6.bridge/4.plugins-and-middleware",{"title":1069,"path":1070,"stem":1071,"titleTemplate":6},"Новый Composition API","/docs/3.x/bridge/nuxt3-compatible-api","docs/3.x/6.bridge/5.nuxt3-compatible-api",{"title":936,"path":1073,"stem":1074,"titleTemplate":6},"/docs/3.x/bridge/meta","docs/3.x/6.bridge/6.meta",{"title":826,"path":1076,"stem":1077,"titleTemplate":6},"/docs/3.x/bridge/runtime-config","docs/3.x/6.bridge/7.runtime-config",{"title":834,"path":1079,"stem":1080,"titleTemplate":6},"/docs/3.x/bridge/nitro","docs/3.x/6.bridge/8.nitro",{"title":1082,"path":1083,"stem":1084,"titleTemplate":6},"Vite","/docs/3.x/bridge/vite","docs/3.x/6.bridge/9.vite",{"title":1086,"titleTemplate":1087,"icon":107,"path":1088,"stem":1089,"children":1090,"page":108},"Миграция на Nuxt 3","Миграция на Nuxt 3: %s","/docs/3.x/migration","docs/3.x/7.migration",[1091,1094,1098,1101,1104,1107,1110,1113,1116,1120,1124],{"title":1050,"path":1092,"stem":1093,"titleTemplate":6},"/docs/3.x/migration/overview","docs/3.x/7.migration/1.overview",{"title":1095,"path":1096,"stem":1097,"titleTemplate":6},"Инструменты сборки","/docs/3.x/migration/bundling","docs/3.x/7.migration/10.bundling",{"title":79,"path":1099,"stem":1100,"titleTemplate":6},"/docs/3.x/migration/server","docs/3.x/7.migration/11.server",{"title":1054,"path":1102,"stem":1103,"titleTemplate":6},"/docs/3.x/migration/configuration","docs/3.x/7.migration/2.configuration",{"title":268,"path":1105,"stem":1106,"titleTemplate":6},"/docs/3.x/migration/module-authors","docs/3.x/7.migration/20.module-authors",{"title":260,"path":1108,"stem":1109,"titleTemplate":6},"/docs/3.x/migration/auto-imports","docs/3.x/7.migration/3.auto-imports",{"title":936,"path":1111,"stem":1112,"titleTemplate":6},"/docs/3.x/migration/meta","docs/3.x/7.migration/4.meta",{"title":1065,"path":1114,"stem":1115,"titleTemplate":6},"/docs/3.x/migration/plugins-and-middleware","docs/3.x/7.migration/5.plugins-and-middleware",{"title":1117,"path":1118,"stem":1119,"titleTemplate":6},"Страницы и Лейауты","/docs/3.x/migration/pages-and-layouts","docs/3.x/7.migration/6.pages-and-layouts",{"title":1121,"path":1122,"stem":1123,"titleTemplate":6},"Опции компонента","/docs/3.x/migration/component-options","docs/3.x/7.migration/7.component-options",{"title":1125,"path":1126,"stem":1127,"titleTemplate":6},"Конфигурация времени выполнения (runtime)","/docs/3.x/migration/runtime-config","docs/3.x/7.migration/8.runtime-config",{"title":5,"titleTemplate":6,"icon":7,"path":1129,"stem":1130,"children":1131,"page":108},"/docs/4.x","docs/4.x",[1132,1197,1314,1455,1846,1923,1949,1989],{"title":1133,"titleTemplate":1134,"icon":14,"path":1135,"stem":1136,"children":1137,"page":108},"Начать","%s · Начните работать с Nuxt","/docs/4.x/getting-started","docs/4.x/1.getting-started",[1138,1141,1144,1147,1151,1155,1159,1162,1166,1169,1172,1175,1178,1181,1185,1188,1191,1194],{"title":19,"path":1139,"stem":1140,"titleTemplate":6,"icon":22},"/docs/4.x/getting-started/introduction","docs/4.x/1.getting-started/01.introduction",{"title":24,"path":1142,"stem":1143,"titleTemplate":6,"icon":27},"/docs/4.x/getting-started/installation","docs/4.x/1.getting-started/02.installation",{"title":1054,"path":1145,"stem":1146,"titleTemplate":6,"icon":32},"/docs/4.x/getting-started/configuration","docs/4.x/1.getting-started/03.configuration",{"title":1148,"path":1149,"stem":1150,"titleTemplate":6,"icon":37},"Представления (Views)","/docs/4.x/getting-started/views","docs/4.x/1.getting-started/04.views",{"title":1152,"path":1153,"stem":1154,"titleTemplate":6,"icon":42},"Ресурсы (Assets)","/docs/4.x/getting-started/assets","docs/4.x/1.getting-started/05.assets",{"title":1156,"path":1157,"stem":1158,"titleTemplate":6,"icon":47},"Стили","/docs/4.x/getting-started/styling","docs/4.x/1.getting-started/06.styling",{"title":49,"path":1160,"stem":1161,"titleTemplate":6,"icon":52},"/docs/4.x/getting-started/routing","docs/4.x/1.getting-started/07.routing",{"title":1163,"path":1164,"stem":1165,"titleTemplate":6,"icon":57},"SEO и мета-теги","/docs/4.x/getting-started/seo-meta","docs/4.x/1.getting-started/08.seo-meta",{"title":59,"path":1167,"stem":1168,"titleTemplate":6,"icon":62},"/docs/4.x/getting-started/transitions","docs/4.x/1.getting-started/09.transitions",{"title":64,"path":1170,"stem":1171,"titleTemplate":6,"icon":67},"/docs/4.x/getting-started/data-fetching","docs/4.x/1.getting-started/10.data-fetching",{"title":69,"path":1173,"stem":1174,"titleTemplate":6,"icon":72},"/docs/4.x/getting-started/state-management","docs/4.x/1.getting-started/11.state-management",{"title":74,"path":1176,"stem":1177,"titleTemplate":6,"icon":77},"/docs/4.x/getting-started/error-handling","docs/4.x/1.getting-started/12.error-handling",{"title":79,"path":1179,"stem":1180,"titleTemplate":6,"icon":82},"/docs/4.x/getting-started/server","docs/4.x/1.getting-started/13.server",{"title":1182,"path":1183,"stem":1184,"titleTemplate":6,"icon":87},"Слои (Layers)","/docs/4.x/getting-started/layers","docs/4.x/1.getting-started/14.layers",{"title":89,"path":1186,"stem":1187,"titleTemplate":6,"icon":92},"/docs/4.x/getting-started/prerendering","docs/4.x/1.getting-started/15.prerendering",{"title":94,"path":1189,"stem":1190,"titleTemplate":6,"icon":97},"/docs/4.x/getting-started/deployment","docs/4.x/1.getting-started/16.deployment",{"title":99,"path":1192,"stem":1193,"titleTemplate":6,"icon":102},"/docs/4.x/getting-started/testing","docs/4.x/1.getting-started/17.testing",{"title":104,"path":1195,"stem":1196,"titleTemplate":6,"icon":107},"/docs/4.x/getting-started/upgrade","docs/4.x/1.getting-started/18.upgrade",{"title":1198,"titleTemplate":1199,"icon":112,"path":1200,"stem":1201,"children":1202,"page":108},"Структура директорий","%s · Структура директорий Nuxt","/docs/4.x/directory-structure","docs/4.x/2.directory-structure",[1203,1207,1211,1264,1268,1271,1274,1278,1283,1286,1290,1294,1298,1301,1304,1307,1311],{"title":117,"path":1204,"stem":1205,"titleTemplate":6,"icon":1206},"/docs/4.x/directory-structure/nuxt","docs/4.x/2.directory-structure/0.nuxt","i-vscode-icons-folder-type-temp",{"title":122,"path":1208,"stem":1209,"titleTemplate":6,"icon":1210},"/docs/4.x/directory-structure/output","docs/4.x/2.directory-structure/0.output","i-vscode-icons-folder-type-package",{"title":1212,"titleTemplate":1199,"head":1213,"defaultOpen":1215,"icon":1216,"path":1217,"stem":1218,"children":1219,"page":108},"app",{"title":1214},"app/",true,"i-vscode-icons-folder-type-app","/docs/4.x/directory-structure/app","docs/4.x/2.directory-structure/1.app",[1220,1225,1229,1233,1237,1241,1245,1249,1253,1257,1261],{"title":1221,"path":1222,"stem":1223,"titleTemplate":6,"icon":1224},"assets (ресурсы)","/docs/4.x/directory-structure/app/assets","docs/4.x/2.directory-structure/1.app/1.assets","i-vscode-icons-folder-type-asset",{"title":1226,"path":1227,"stem":1228,"titleTemplate":6,"icon":133},"components (компоненты)","/docs/4.x/directory-structure/app/components","docs/4.x/2.directory-structure/1.app/1.components",{"title":135,"path":1230,"stem":1231,"titleTemplate":6,"icon":1232},"/docs/4.x/directory-structure/app/composables","docs/4.x/2.directory-structure/1.app/1.composables","i-vscode-icons-folder-type-src",{"title":1234,"path":1235,"stem":1236,"titleTemplate":6,"icon":151},"layouts (макеты)","/docs/4.x/directory-structure/app/layouts","docs/4.x/2.directory-structure/1.app/1.layouts",{"title":1238,"path":1239,"stem":1240,"titleTemplate":6,"icon":156},"middleware (прослойки)","/docs/4.x/directory-structure/app/middleware","docs/4.x/2.directory-structure/1.app/1.middleware",{"title":1242,"path":1243,"stem":1244,"titleTemplate":6,"icon":151},"pages (страницы)","/docs/4.x/directory-structure/app/pages","docs/4.x/2.directory-structure/1.app/1.pages",{"title":1246,"path":1247,"stem":1248,"titleTemplate":6,"icon":173},"plugins (плагины)","/docs/4.x/directory-structure/app/plugins","docs/4.x/2.directory-structure/1.app/1.plugins",{"title":188,"path":1250,"stem":1251,"titleTemplate":6,"icon":1252},"/docs/4.x/directory-structure/app/utils","docs/4.x/2.directory-structure/1.app/1.utils","i-vscode-icons-folder-type-tools",{"title":210,"path":1254,"stem":1255,"titleTemplate":6,"icon":1256},"/docs/4.x/directory-structure/app/app","docs/4.x/2.directory-structure/1.app/3.app","i-vscode-icons-file-type-vue",{"title":214,"path":1258,"stem":1259,"titleTemplate":6,"icon":1260},"/docs/4.x/directory-structure/app/app-config","docs/4.x/2.directory-structure/1.app/3.app-config","i-vscode-icons-file-type-light-config",{"title":218,"path":1262,"stem":1263,"titleTemplate":6,"icon":1256},"/docs/4.x/directory-structure/app/error","docs/4.x/2.directory-structure/1.app/3.error",{"title":139,"path":1265,"stem":1266,"titleTemplate":6,"icon":1267},"/docs/4.x/directory-structure/content","docs/4.x/2.directory-structure/1.content","i-vscode-icons-folder-type-log",{"title":143,"path":1269,"stem":1270,"titleTemplate":6,"icon":146},"/docs/4.x/directory-structure/layers","docs/4.x/2.directory-structure/1.layers",{"title":158,"path":1272,"stem":1273,"titleTemplate":6,"icon":146},"/docs/4.x/directory-structure/modules","docs/4.x/2.directory-structure/1.modules",{"title":162,"path":1275,"stem":1276,"titleTemplate":6,"icon":1277},"/docs/4.x/directory-structure/node_modules","docs/4.x/2.directory-structure/1.node_modules","i-vscode-icons-folder-type-node",{"title":1279,"path":1280,"stem":1281,"titleTemplate":6,"icon":1282},"public (статика)","/docs/4.x/directory-structure/public","docs/4.x/2.directory-structure/1.public","i-vscode-icons-folder-type-public",{"title":179,"path":1284,"stem":1285,"titleTemplate":6,"icon":182},"/docs/4.x/directory-structure/server","docs/4.x/2.directory-structure/1.server",{"title":184,"path":1287,"stem":1288,"titleTemplate":6,"icon":1289},"/docs/4.x/directory-structure/shared","docs/4.x/2.directory-structure/1.shared","i-vscode-icons-folder-type-shared",{"title":192,"path":1291,"stem":1292,"titleTemplate":6,"icon":1293},"/docs/4.x/directory-structure/env","docs/4.x/2.directory-structure/2.env","i-vscode-icons-file-type-dotenv",{"title":197,"path":1295,"stem":1296,"titleTemplate":6,"icon":1297},"/docs/4.x/directory-structure/gitignore","docs/4.x/2.directory-structure/2.gitignore","i-vscode-icons-file-type-git",{"title":201,"path":1299,"stem":1300,"titleTemplate":6,"icon":204},"/docs/4.x/directory-structure/nuxtignore","docs/4.x/2.directory-structure/2.nuxtignore",{"title":206,"path":1302,"stem":1303,"titleTemplate":6,"icon":204},"/docs/4.x/directory-structure/nuxtrc","docs/4.x/2.directory-structure/2.nuxtrc",{"title":222,"path":1305,"stem":1306,"titleTemplate":6,"icon":204},"/docs/4.x/directory-structure/nuxt-config","docs/4.x/2.directory-structure/3.nuxt-config",{"title":226,"path":1308,"stem":1309,"titleTemplate":6,"icon":1310},"/docs/4.x/directory-structure/package","docs/4.x/2.directory-structure/3.package","i-vscode-icons-file-type-npm",{"title":230,"path":1312,"stem":1313,"titleTemplate":6,"icon":233},"/docs/4.x/directory-structure/tsconfig","docs/4.x/2.directory-structure/3.tsconfig",{"title":235,"titleTemplate":6,"icon":236,"path":1315,"stem":1316,"children":1317,"page":108},"/docs/4.x/guide","docs/4.x/3.guide",[1318,1343,1357,1368,1396,1414],{"title":241,"titleTemplate":242,"icon":243,"path":1319,"stem":1320,"children":1321,"page":108},"/docs/4.x/guide/concepts","docs/4.x/3.guide/1.concepts",[1322,1325,1328,1331,1334,1337,1340],{"title":248,"path":1323,"stem":1324,"titleTemplate":6},"/docs/4.x/guide/concepts/rendering","docs/4.x/3.guide/1.concepts/1.rendering",{"title":256,"path":1326,"stem":1327,"titleTemplate":6},"/docs/4.x/guide/concepts/nuxt-lifecycle","docs/4.x/3.guide/1.concepts/2.nuxt-lifecycle",{"title":866,"path":1329,"stem":1330,"titleTemplate":6},"/docs/4.x/guide/concepts/auto-imports","docs/4.x/3.guide/1.concepts/3.auto-imports",{"title":264,"path":1332,"stem":1333,"titleTemplate":6},"/docs/4.x/guide/concepts/server-engine","docs/4.x/3.guide/1.concepts/4.server-engine",{"title":268,"path":1335,"stem":1336,"titleTemplate":6},"/docs/4.x/guide/concepts/modules","docs/4.x/3.guide/1.concepts/5.modules",{"title":276,"path":1338,"stem":1339,"titleTemplate":6},"/docs/4.x/guide/concepts/typescript","docs/4.x/3.guide/1.concepts/8.typescript",{"title":280,"path":1341,"stem":1342,"titleTemplate":6},"/docs/4.x/guide/concepts/code-style","docs/4.x/3.guide/1.concepts/9.code-style",{"title":284,"titleTemplate":285,"icon":286,"path":1344,"stem":1345,"children":1346,"page":108},"/docs/4.x/guide/best-practices","docs/4.x/3.guide/2.best-practices",[1347,1351,1354],{"title":1348,"path":1349,"stem":1350,"titleTemplate":6},"Nuxt и гидрация","/docs/4.x/guide/best-practices/hydration","docs/4.x/3.guide/2.best-practices/hydration",{"title":295,"path":1352,"stem":1353,"titleTemplate":6},"/docs/4.x/guide/best-practices/performance","docs/4.x/3.guide/2.best-practices/performance",{"title":299,"path":1355,"stem":1356,"titleTemplate":6},"/docs/4.x/guide/best-practices/plugins","docs/4.x/3.guide/2.best-practices/plugins",{"title":303,"titleTemplate":304,"icon":305,"path":1358,"stem":1359,"children":1360,"page":108},"/docs/4.x/guide/ai","docs/4.x/3.guide/3.ai",[1361,1365],{"title":1362,"path":1363,"stem":1364,"titleTemplate":6},"MCP Server","/docs/4.x/guide/ai/mcp","docs/4.x/3.guide/3.ai/1.mcp",{"title":314,"path":1366,"stem":1367,"titleTemplate":6},"/docs/4.x/guide/ai/llms-txt","docs/4.x/3.guide/3.ai/2.llms-txt",{"title":318,"titleTemplate":1369,"icon":320,"path":1370,"stem":1371,"children":1372,"page":108},"%s · Руководство автора модулей Nuxt","/docs/4.x/guide/modules","docs/4.x/3.guide/4.modules",[1373,1376,1379,1383,1387,1390,1393],{"title":325,"path":1374,"stem":1375,"titleTemplate":6},"/docs/4.x/guide/modules/getting-started","docs/4.x/3.guide/4.modules/1.getting-started",{"title":329,"path":1377,"stem":1378,"titleTemplate":6},"/docs/4.x/guide/modules/module-anatomy","docs/4.x/3.guide/4.modules/2.module-anatomy",{"title":1380,"path":1381,"stem":1382,"titleTemplate":6},"Плагины, компоненты и другое","/docs/4.x/guide/modules/recipes-basics","docs/4.x/3.guide/4.modules/3.recipes-basics",{"title":1384,"path":1385,"stem":1386,"titleTemplate":6},"Хуки и расширение типов","/docs/4.x/guide/modules/recipes-advanced","docs/4.x/3.guide/4.modules/4.recipes-advanced",{"title":341,"path":1388,"stem":1389,"titleTemplate":6},"/docs/4.x/guide/modules/testing","docs/4.x/3.guide/4.modules/5.testing",{"title":284,"path":1391,"stem":1392,"titleTemplate":6},"/docs/4.x/guide/modules/best-practices","docs/4.x/3.guide/4.modules/6.best-practices",{"title":348,"path":1394,"stem":1395,"titleTemplate":6},"/docs/4.x/guide/modules/ecosystem","docs/4.x/3.guide/4.modules/7.ecosystem",{"title":352,"titleTemplate":353,"icon":354,"path":1397,"stem":1398,"children":1399,"page":108},"/docs/4.x/guide/recipes","docs/4.x/3.guide/5.recipes",[1400,1404,1407,1411],{"title":1401,"path":1402,"stem":1403,"titleTemplate":6},"Кастомная маршрутизация","/docs/4.x/guide/recipes/custom-routing","docs/4.x/3.guide/5.recipes/1.custom-routing",{"title":363,"path":1405,"stem":1406,"titleTemplate":6},"/docs/4.x/guide/recipes/vite-plugin","docs/4.x/3.guide/5.recipes/2.vite-plugin",{"title":1408,"path":1409,"stem":1410,"titleTemplate":6},"Кастомный useFetch","/docs/4.x/guide/recipes/custom-usefetch","docs/4.x/3.guide/5.recipes/3.custom-usefetch",{"title":371,"path":1412,"stem":1413,"titleTemplate":6},"/docs/4.x/guide/recipes/sessions-and-authentication","docs/4.x/3.guide/5.recipes/4.sessions-and-authentication",{"title":1415,"titleTemplate":1416,"icon":377,"path":1417,"stem":1418,"children":1419,"page":108},"Идем дальше","%s · Nuxt Advanced","/docs/4.x/guide/going-further","docs/4.x/3.guide/6.going-further",[1420,1424,1427,1431,1435,1439,1442,1445,1448,1452],{"title":1421,"path":1422,"stem":1423,"titleTemplate":6},"Собственные события","/docs/4.x/guide/going-further/events","docs/4.x/3.guide/6.going-further/1.events",{"title":386,"path":1425,"stem":1426,"titleTemplate":6},"/docs/4.x/guide/going-further/experimental-features","docs/4.x/3.guide/6.going-further/1.experimental-features",{"title":1428,"path":1429,"stem":1430,"titleTemplate":6},"Возможности (Features)","/docs/4.x/guide/going-further/features","docs/4.x/3.guide/6.going-further/1.features",{"title":1432,"path":1433,"stem":1434,"titleTemplate":6},"Runtime-конфигурация","/docs/4.x/guide/going-further/runtime-config","docs/4.x/3.guide/6.going-further/10.runtime-config",{"title":1436,"path":1437,"stem":1438,"titleTemplate":6},"Ночной канал релизов","/docs/4.x/guide/going-further/nightly-release-channel","docs/4.x/3.guide/6.going-further/11.nightly-release-channel",{"title":406,"path":1440,"stem":1441,"titleTemplate":6},"/docs/4.x/guide/going-further/hooks","docs/4.x/3.guide/6.going-further/2.hooks",{"title":410,"path":1443,"stem":1444,"titleTemplate":6},"/docs/4.x/guide/going-further/kit","docs/4.x/3.guide/6.going-further/4.kit",{"title":414,"path":1446,"stem":1447,"titleTemplate":6},"/docs/4.x/guide/going-further/nuxt-app","docs/4.x/3.guide/6.going-further/6.nuxt-app",{"title":1449,"path":1450,"stem":1451,"titleTemplate":6},"Авторство слоёв Nuxt","/docs/4.x/guide/going-further/layers","docs/4.x/3.guide/6.going-further/7.layers",{"title":422,"path":1453,"stem":1454,"titleTemplate":6},"/docs/4.x/guide/going-further/debugging","docs/4.x/3.guide/6.going-further/9.debugging",{"title":426,"titleTemplate":1456,"icon":428,"path":1457,"stem":1458,"children":1459,"page":108},"%s · API Nuxt","/docs/4.x/api","docs/4.x/4.api",[1460,1513,1616,1707,1764,1830,1843],{"title":433,"titleTemplate":434,"icon":320,"path":1461,"stem":1462,"children":1463,"page":108},"/docs/4.x/api/components","docs/4.x/4.api/1.components",[1464,1467,1470,1473,1476,1479,1482,1485,1489,1492,1495,1498,1501,1504,1507,1510],{"title":439,"path":1465,"stem":1466,"titleTemplate":6},"/docs/4.x/api/components/client-only","docs/4.x/4.api/1.components/1.client-only",{"title":443,"path":1468,"stem":1469,"titleTemplate":6},"/docs/4.x/api/components/dev-only","docs/4.x/4.api/1.components/1.dev-only",{"title":447,"path":1471,"stem":1472,"titleTemplate":6},"/docs/4.x/api/components/nuxt-client-fallback","docs/4.x/4.api/1.components/1.nuxt-client-fallback",{"title":451,"path":1474,"stem":1475,"titleTemplate":6},"/docs/4.x/api/components/nuxt-picture","docs/4.x/4.api/1.components/10.nuxt-picture",{"title":455,"path":1477,"stem":1478,"titleTemplate":6},"/docs/4.x/api/components/teleports","docs/4.x/4.api/1.components/11.teleports",{"title":459,"path":1480,"stem":1481,"titleTemplate":6},"/docs/4.x/api/components/nuxt-route-announcer","docs/4.x/4.api/1.components/12.nuxt-route-announcer",{"title":464,"path":1483,"stem":1484,"titleTemplate":6},"/docs/4.x/api/components/nuxt-time","docs/4.x/4.api/1.components/13.nuxt-time",{"title":1486,"path":1487,"stem":1488,"titleTemplate":6},"\u003CNuxtAnnouncer>","/docs/4.x/api/components/nuxt-announcer","docs/4.x/4.api/1.components/14.nuxt-announcer",{"title":468,"path":1490,"stem":1491,"titleTemplate":6},"/docs/4.x/api/components/nuxt-page","docs/4.x/4.api/1.components/2.nuxt-page",{"title":472,"path":1493,"stem":1494,"titleTemplate":6},"/docs/4.x/api/components/nuxt-layout","docs/4.x/4.api/1.components/3.nuxt-layout",{"title":476,"path":1496,"stem":1497,"titleTemplate":6},"/docs/4.x/api/components/nuxt-link","docs/4.x/4.api/1.components/4.nuxt-link",{"title":480,"path":1499,"stem":1500,"titleTemplate":6},"/docs/4.x/api/components/nuxt-loading-indicator","docs/4.x/4.api/1.components/5.nuxt-loading-indicator",{"title":484,"path":1502,"stem":1503,"titleTemplate":6},"/docs/4.x/api/components/nuxt-error-boundary","docs/4.x/4.api/1.components/6.nuxt-error-boundary",{"title":488,"path":1505,"stem":1506,"titleTemplate":6},"/docs/4.x/api/components/nuxt-welcome","docs/4.x/4.api/1.components/7.nuxt-welcome",{"title":492,"path":1508,"stem":1509,"titleTemplate":6},"/docs/4.x/api/components/nuxt-island","docs/4.x/4.api/1.components/8.nuxt-island",{"title":496,"path":1511,"stem":1512,"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":1514,"stem":1515,"children":1516,"page":108},"/docs/4.x/api/composables","docs/4.x/4.api/2.composables",[1517,1521,1525,1528,1532,1535,1538,1541,1544,1547,1550,1553,1556,1559,1562,1565,1568,1571,1574,1577,1580,1583,1586,1589,1592,1595,1598,1601,1604,1607,1610,1613],{"title":1518,"path":1519,"stem":1520,"titleTemplate":6},"createUseAsyncData","/docs/4.x/api/composables/create-use-async-data","docs/4.x/4.api/2.composables/create-use-async-data",{"title":1522,"path":1523,"stem":1524,"titleTemplate":6},"createUseFetch","/docs/4.x/api/composables/create-use-fetch","docs/4.x/4.api/2.composables/create-use-fetch",{"title":507,"path":1526,"stem":1527,"titleTemplate":6},"/docs/4.x/api/composables/on-prehydrate","docs/4.x/4.api/2.composables/on-prehydrate",{"title":1529,"path":1530,"stem":1531,"titleTemplate":6},"useAnnouncer","/docs/4.x/api/composables/use-announcer","docs/4.x/4.api/2.composables/use-announcer",{"title":511,"path":1533,"stem":1534,"titleTemplate":6},"/docs/4.x/api/composables/use-app-config","docs/4.x/4.api/2.composables/use-app-config",{"title":515,"path":1536,"stem":1537,"titleTemplate":6},"/docs/4.x/api/composables/use-async-data","docs/4.x/4.api/2.composables/use-async-data",{"title":519,"path":1539,"stem":1540,"titleTemplate":6},"/docs/4.x/api/composables/use-cookie","docs/4.x/4.api/2.composables/use-cookie",{"title":523,"path":1542,"stem":1543,"titleTemplate":6},"/docs/4.x/api/composables/use-error","docs/4.x/4.api/2.composables/use-error",{"title":527,"path":1545,"stem":1546,"titleTemplate":6},"/docs/4.x/api/composables/use-fetch","docs/4.x/4.api/2.composables/use-fetch",{"title":531,"path":1548,"stem":1549,"titleTemplate":6},"/docs/4.x/api/composables/use-head","docs/4.x/4.api/2.composables/use-head",{"title":535,"path":1551,"stem":1552,"titleTemplate":6},"/docs/4.x/api/composables/use-head-safe","docs/4.x/4.api/2.composables/use-head-safe",{"title":539,"path":1554,"stem":1555,"titleTemplate":6},"/docs/4.x/api/composables/use-hydration","docs/4.x/4.api/2.composables/use-hydration",{"title":543,"path":1557,"stem":1558,"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":1560,"stem":1561,"titleTemplate":6},"/docs/4.x/api/composables/use-lazy-fetch","docs/4.x/4.api/2.composables/use-lazy-fetch",{"title":551,"path":1563,"stem":1564,"titleTemplate":6},"/docs/4.x/api/composables/use-loading-indicator","docs/4.x/4.api/2.composables/use-loading-indicator",{"title":555,"path":1566,"stem":1567,"titleTemplate":6},"/docs/4.x/api/composables/use-nuxt-app","docs/4.x/4.api/2.composables/use-nuxt-app",{"title":559,"path":1569,"stem":1570,"titleTemplate":6},"/docs/4.x/api/composables/use-nuxt-data","docs/4.x/4.api/2.composables/use-nuxt-data",{"title":563,"path":1572,"stem":1573,"titleTemplate":6},"/docs/4.x/api/composables/use-preview-mode","docs/4.x/4.api/2.composables/use-preview-mode",{"title":567,"path":1575,"stem":1576,"titleTemplate":6},"/docs/4.x/api/composables/use-request-event","docs/4.x/4.api/2.composables/use-request-event",{"title":571,"path":1578,"stem":1579,"titleTemplate":6},"/docs/4.x/api/composables/use-request-fetch","docs/4.x/4.api/2.composables/use-request-fetch",{"title":575,"path":1581,"stem":1582,"titleTemplate":6},"/docs/4.x/api/composables/use-request-header","docs/4.x/4.api/2.composables/use-request-header",{"title":579,"path":1584,"stem":1585,"titleTemplate":6},"/docs/4.x/api/composables/use-request-headers","docs/4.x/4.api/2.composables/use-request-headers",{"title":583,"path":1587,"stem":1588,"titleTemplate":6},"/docs/4.x/api/composables/use-request-url","docs/4.x/4.api/2.composables/use-request-url",{"title":587,"path":1590,"stem":1591,"titleTemplate":6},"/docs/4.x/api/composables/use-response-header","docs/4.x/4.api/2.composables/use-response-header",{"title":591,"path":1593,"stem":1594,"titleTemplate":6},"/docs/4.x/api/composables/use-route","docs/4.x/4.api/2.composables/use-route",{"title":595,"path":1596,"stem":1597,"titleTemplate":6},"/docs/4.x/api/composables/use-route-announcer","docs/4.x/4.api/2.composables/use-route-announcer",{"title":599,"path":1599,"stem":1600,"titleTemplate":6},"/docs/4.x/api/composables/use-router","docs/4.x/4.api/2.composables/use-router",{"title":603,"path":1602,"stem":1603,"titleTemplate":6},"/docs/4.x/api/composables/use-runtime-config","docs/4.x/4.api/2.composables/use-runtime-config",{"title":607,"path":1605,"stem":1606,"titleTemplate":6},"/docs/4.x/api/composables/use-runtime-hook","docs/4.x/4.api/2.composables/use-runtime-hook",{"title":611,"path":1608,"stem":1609,"titleTemplate":6},"/docs/4.x/api/composables/use-seo-meta","docs/4.x/4.api/2.composables/use-seo-meta",{"title":615,"path":1611,"stem":1612,"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":1614,"stem":1615,"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":1617,"stem":1618,"children":1619,"page":108},"/docs/4.x/api/utils","docs/4.x/4.api/3.utils",[1620,1623,1626,1629,1632,1635,1638,1641,1644,1647,1650,1653,1656,1659,1662,1665,1668,1671,1674,1677,1680,1683,1686,1689,1692,1695,1698,1701,1704],{"title":630,"path":1621,"stem":1622,"titleTemplate":6},"/docs/4.x/api/utils/dollarfetch","docs/4.x/4.api/3.utils/$fetch",{"title":634,"path":1624,"stem":1625,"titleTemplate":6},"/docs/4.x/api/utils/abort-navigation","docs/4.x/4.api/3.utils/abort-navigation",{"title":638,"path":1627,"stem":1628,"titleTemplate":6},"/docs/4.x/api/utils/add-route-middleware","docs/4.x/4.api/3.utils/add-route-middleware",{"title":642,"path":1630,"stem":1631,"titleTemplate":6},"/docs/4.x/api/utils/call-once","docs/4.x/4.api/3.utils/call-once",{"title":646,"path":1633,"stem":1634,"titleTemplate":6},"/docs/4.x/api/utils/clear-error","docs/4.x/4.api/3.utils/clear-error",{"title":650,"path":1636,"stem":1637,"titleTemplate":6},"/docs/4.x/api/utils/clear-nuxt-data","docs/4.x/4.api/3.utils/clear-nuxt-data",{"title":654,"path":1639,"stem":1640,"titleTemplate":6},"/docs/4.x/api/utils/clear-nuxt-state","docs/4.x/4.api/3.utils/clear-nuxt-state",{"title":658,"path":1642,"stem":1643,"titleTemplate":6},"/docs/4.x/api/utils/create-error","docs/4.x/4.api/3.utils/create-error",{"title":662,"path":1645,"stem":1646,"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":1648,"stem":1649,"titleTemplate":6},"/docs/4.x/api/utils/define-nuxt-component","docs/4.x/4.api/3.utils/define-nuxt-component",{"title":670,"path":1651,"stem":1652,"titleTemplate":6},"/docs/4.x/api/utils/define-nuxt-plugin","docs/4.x/4.api/3.utils/define-nuxt-plugin",{"title":674,"path":1654,"stem":1655,"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":1657,"stem":1658,"titleTemplate":6},"/docs/4.x/api/utils/define-page-meta","docs/4.x/4.api/3.utils/define-page-meta",{"title":682,"path":1660,"stem":1661,"titleTemplate":6},"/docs/4.x/api/utils/define-route-rules","docs/4.x/4.api/3.utils/define-route-rules",{"title":686,"path":1663,"stem":1664,"titleTemplate":6},"/docs/4.x/api/utils/navigate-to","docs/4.x/4.api/3.utils/navigate-to",{"title":690,"path":1666,"stem":1667,"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":1669,"stem":1670,"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":1672,"stem":1673,"titleTemplate":6},"/docs/4.x/api/utils/on-nuxt-ready","docs/4.x/4.api/3.utils/on-nuxt-ready",{"title":702,"path":1675,"stem":1676,"titleTemplate":6},"/docs/4.x/api/utils/prefetch-components","docs/4.x/4.api/3.utils/prefetch-components",{"title":706,"path":1678,"stem":1679,"titleTemplate":6},"/docs/4.x/api/utils/preload-components","docs/4.x/4.api/3.utils/preload-components",{"title":710,"path":1681,"stem":1682,"titleTemplate":6},"/docs/4.x/api/utils/preload-route-components","docs/4.x/4.api/3.utils/preload-route-components",{"title":714,"path":1684,"stem":1685,"titleTemplate":6},"/docs/4.x/api/utils/prerender-routes","docs/4.x/4.api/3.utils/prerender-routes",{"title":718,"path":1687,"stem":1688,"titleTemplate":6},"/docs/4.x/api/utils/refresh-cookie","docs/4.x/4.api/3.utils/refresh-cookie",{"title":722,"path":1690,"stem":1691,"titleTemplate":6},"/docs/4.x/api/utils/refresh-nuxt-data","docs/4.x/4.api/3.utils/refresh-nuxt-data",{"title":726,"path":1693,"stem":1694,"titleTemplate":6},"/docs/4.x/api/utils/reload-nuxt-app","docs/4.x/4.api/3.utils/reload-nuxt-app",{"title":730,"path":1696,"stem":1697,"titleTemplate":6},"/docs/4.x/api/utils/set-page-layout","docs/4.x/4.api/3.utils/set-page-layout",{"title":734,"path":1699,"stem":1700,"titleTemplate":6},"/docs/4.x/api/utils/set-response-status","docs/4.x/4.api/3.utils/set-response-status",{"title":738,"path":1702,"stem":1703,"titleTemplate":6},"/docs/4.x/api/utils/show-error","docs/4.x/4.api/3.utils/show-error",{"title":742,"path":1705,"stem":1706,"titleTemplate":6},"/docs/4.x/api/utils/update-app-config","docs/4.x/4.api/3.utils/update-app-config",{"title":746,"titleTemplate":6,"icon":748,"path":1708,"stem":1709,"children":1710,"page":108},"/docs/4.x/api/commands","docs/4.x/4.api/4.commands",[1711,1714,1717,1720,1723,1726,1729,1733,1737,1740,1743,1746,1750,1754,1757,1761],{"title":753,"path":1712,"stem":1713,"titleTemplate":6},"/docs/4.x/api/commands/add","docs/4.x/4.api/4.commands/add",{"title":757,"path":1715,"stem":1716,"titleTemplate":6},"/docs/4.x/api/commands/analyze","docs/4.x/4.api/4.commands/analyze",{"title":761,"path":1718,"stem":1719,"titleTemplate":6},"/docs/4.x/api/commands/build","docs/4.x/4.api/4.commands/build",{"title":765,"path":1721,"stem":1722,"titleTemplate":6},"/docs/4.x/api/commands/build-module","docs/4.x/4.api/4.commands/build-module",{"title":769,"path":1724,"stem":1725,"titleTemplate":6},"/docs/4.x/api/commands/cleanup","docs/4.x/4.api/4.commands/cleanup",{"title":773,"path":1727,"stem":1728,"titleTemplate":6},"/docs/4.x/api/commands/dev","docs/4.x/4.api/4.commands/dev",{"title":1730,"path":1731,"stem":1732,"titleTemplate":6},"nuxt devtools","/docs/4.x/api/commands/devtools","docs/4.x/4.api/4.commands/devtools",{"title":1734,"path":1735,"stem":1736,"titleTemplate":6},"nuxt generate","/docs/4.x/api/commands/generate","docs/4.x/4.api/4.commands/generate",{"title":785,"path":1738,"stem":1739,"titleTemplate":6},"/docs/4.x/api/commands/info","docs/4.x/4.api/4.commands/info",{"title":789,"path":1741,"stem":1742,"titleTemplate":6},"/docs/4.x/api/commands/init","docs/4.x/4.api/4.commands/init",{"title":793,"path":1744,"stem":1745,"titleTemplate":6},"/docs/4.x/api/commands/module","docs/4.x/4.api/4.commands/module",{"title":1747,"path":1748,"stem":1749,"titleTemplate":6},"nuxt prepare","/docs/4.x/api/commands/prepare","docs/4.x/4.api/4.commands/prepare",{"title":1751,"path":1752,"stem":1753,"titleTemplate":6},"nuxt preview","/docs/4.x/api/commands/preview","docs/4.x/4.api/4.commands/preview",{"title":805,"path":1755,"stem":1756,"titleTemplate":6},"/docs/4.x/api/commands/test","docs/4.x/4.api/4.commands/test",{"title":1758,"path":1759,"stem":1760,"titleTemplate":6},"nuxt typecheck","/docs/4.x/api/commands/typecheck","docs/4.x/4.api/4.commands/typecheck",{"title":813,"path":1762,"stem":1763,"titleTemplate":6},"/docs/4.x/api/commands/upgrade","docs/4.x/4.api/4.commands/upgrade",{"title":1765,"titleTemplate":817,"icon":818,"path":1766,"stem":1767,"children":1768,"page":108},"Инструментарий Nuxt","/docs/4.x/api/kit","docs/4.x/4.api/5.kit",[1769,1772,1776,1779,1783,1787,1791,1795,1798,1801,1804,1807,1810,1813,1816,1819,1823,1827],{"title":268,"path":1770,"stem":1771,"titleTemplate":6},"/docs/4.x/api/kit/modules","docs/4.x/4.api/5.kit/1.modules",{"title":1773,"path":1774,"stem":1775,"titleTemplate":6},"Runtime Config","/docs/4.x/api/kit/runtime-config","docs/4.x/4.api/5.kit/10.runtime-config",{"title":830,"path":1777,"stem":1778,"titleTemplate":6},"/docs/4.x/api/kit/templates","docs/4.x/4.api/5.kit/10.templates",{"title":1780,"path":1781,"stem":1782,"titleTemplate":6},"Nitro (Kit)","/docs/4.x/api/kit/nitro","docs/4.x/4.api/5.kit/11.nitro",{"title":1784,"path":1785,"stem":1786,"titleTemplate":6},"Resolving","/docs/4.x/api/kit/resolving","docs/4.x/4.api/5.kit/12.resolving",{"title":1788,"path":1789,"stem":1790,"titleTemplate":6},"Logging (Ведение журнала)","/docs/4.x/api/kit/logging","docs/4.x/4.api/5.kit/13.logging",{"title":1792,"path":1793,"stem":1794,"titleTemplate":6},"Builder","/docs/4.x/api/kit/builder","docs/4.x/4.api/5.kit/14.builder",{"title":850,"path":1796,"stem":1797,"titleTemplate":6},"/docs/4.x/api/kit/examples","docs/4.x/4.api/5.kit/15.examples",{"title":84,"path":1799,"stem":1800,"titleTemplate":6},"/docs/4.x/api/kit/layers","docs/4.x/4.api/5.kit/16.layers",{"title":858,"path":1802,"stem":1803,"titleTemplate":6},"/docs/4.x/api/kit/programmatic","docs/4.x/4.api/5.kit/2.programmatic",{"title":862,"path":1805,"stem":1806,"titleTemplate":6},"/docs/4.x/api/kit/compatibility","docs/4.x/4.api/5.kit/3.compatibility",{"title":866,"path":1808,"stem":1809,"titleTemplate":6},"/docs/4.x/api/kit/autoimports","docs/4.x/4.api/5.kit/4.autoimports",{"title":433,"path":1811,"stem":1812,"titleTemplate":6},"/docs/4.x/api/kit/components","docs/4.x/4.api/5.kit/5.components",{"title":873,"path":1814,"stem":1815,"titleTemplate":6},"/docs/4.x/api/kit/context","docs/4.x/4.api/5.kit/6.context",{"title":877,"path":1817,"stem":1818,"titleTemplate":6},"/docs/4.x/api/kit/pages","docs/4.x/4.api/5.kit/7.pages",{"title":1820,"path":1821,"stem":1822,"titleTemplate":6},"Макеты","/docs/4.x/api/kit/layout","docs/4.x/4.api/5.kit/8.layout",{"title":1824,"path":1825,"stem":1826,"titleTemplate":6},"Head","/docs/4.x/api/kit/head","docs/4.x/4.api/5.kit/9.head",{"title":889,"path":1828,"stem":1829,"titleTemplate":6},"/docs/4.x/api/kit/plugins","docs/4.x/4.api/5.kit/9.plugins",{"title":1831,"titleTemplate":1832,"icon":894,"path":1833,"stem":1834,"children":1835,"page":108},"Продвинутое","%s · Продвинутое","/docs/4.x/api/advanced","docs/4.x/4.api/6.advanced",[1836,1839],{"title":406,"path":1837,"stem":1838,"titleTemplate":6},"/docs/4.x/api/advanced/hooks","docs/4.x/4.api/6.advanced/1.hooks",{"title":1840,"path":1841,"stem":1842,"titleTemplate":6},"import.meta","/docs/4.x/api/advanced/import-meta","docs/4.x/4.api/6.advanced/2.import-meta",{"title":906,"path":1844,"stem":1845,"titleTemplate":909,"icon":32},"/docs/4.x/api/nuxt-config","docs/4.x/4.api/6.nuxt-config",{"title":911,"titleTemplate":912,"icon":913,"path":1847,"stem":1848,"children":1849,"page":108},"/docs/4.x/examples","docs/4.x/4.examples",[1850,1853,1872,1885,1916],{"title":918,"path":1851,"stem":1852,"titleTemplate":6},"/docs/4.x/examples/hello-world","docs/4.x/4.examples/0.hello-world",{"title":922,"path":1854,"stem":1855,"children":1856,"page":108},"/docs/4.x/examples/features","docs/4.x/4.examples/1.features",[1857,1860,1863,1866,1869],{"title":260,"path":1858,"stem":1859,"titleTemplate":6},"/docs/4.x/examples/features/auto-imports","docs/4.x/4.examples/1.features/1.auto-imports",{"title":64,"path":1861,"stem":1862,"titleTemplate":6},"/docs/4.x/examples/features/data-fetching","docs/4.x/4.examples/1.features/2.data-fetching",{"title":69,"path":1864,"stem":1865,"titleTemplate":6},"/docs/4.x/examples/features/state-management","docs/4.x/4.examples/1.features/3.state-management",{"title":936,"path":1867,"stem":1868,"titleTemplate":6},"/docs/4.x/examples/features/meta-tags","docs/4.x/4.examples/1.features/4.meta-tags",{"title":940,"path":1870,"stem":1871,"titleTemplate":6},"/docs/4.x/examples/features/layouts","docs/4.x/4.examples/1.features/5.layouts",{"title":944,"path":1873,"stem":1874,"children":1875,"page":108},"/docs/4.x/examples/routing","docs/4.x/4.examples/2.routing",[1876,1879,1882],{"title":949,"path":1877,"stem":1878,"titleTemplate":6},"/docs/4.x/examples/routing/middleware","docs/4.x/4.examples/2.routing/middleware",{"title":877,"path":1880,"stem":1881,"titleTemplate":6},"/docs/4.x/examples/routing/pages","docs/4.x/4.examples/2.routing/pages",{"title":956,"path":1883,"stem":1884,"titleTemplate":6},"/docs/4.x/examples/routing/universal-router","docs/4.x/4.examples/2.routing/universal-router",{"title":893,"path":1886,"stem":1887,"children":1888,"page":108},"/docs/4.x/examples/advanced","docs/4.x/4.examples/4.advanced",[1889,1892,1895,1898,1901,1904,1907,1910,1913],{"title":84,"path":1890,"stem":1891,"titleTemplate":6},"/docs/4.x/examples/advanced/config-extends","docs/4.x/4.examples/4.advanced/config-extends",{"title":74,"path":1893,"stem":1894,"titleTemplate":6},"/docs/4.x/examples/advanced/error-handling","docs/4.x/4.examples/4.advanced/error-handling",{"title":970,"path":1896,"stem":1897,"titleTemplate":6},"/docs/4.x/examples/advanced/jsx","docs/4.x/4.examples/4.advanced/jsx",{"title":974,"path":1899,"stem":1900,"titleTemplate":6},"/docs/4.x/examples/advanced/locale","docs/4.x/4.examples/4.advanced/locale",{"title":978,"path":1902,"stem":1903,"titleTemplate":6},"/docs/4.x/examples/advanced/module-extend-pages","docs/4.x/4.examples/4.advanced/module-extend-pages",{"title":982,"path":1905,"stem":1906,"titleTemplate":6},"/docs/4.x/examples/advanced/teleport","docs/4.x/4.examples/4.advanced/teleport",{"title":99,"path":1908,"stem":1909,"titleTemplate":6},"/docs/4.x/examples/advanced/testing","docs/4.x/4.examples/4.advanced/testing",{"title":989,"path":1911,"stem":1912,"titleTemplate":6},"/docs/4.x/examples/advanced/use-cookie","docs/4.x/4.examples/4.advanced/use-cookie",{"title":993,"path":1914,"stem":1915,"titleTemplate":6},"/docs/4.x/examples/advanced/use-custom-fetch-composable","docs/4.x/4.examples/4.advanced/use-custom-fetch-composable",{"title":997,"path":1917,"stem":1918,"children":1919,"page":108},"/docs/4.x/examples/experimental","docs/4.x/4.examples/7.experimental",[1920],{"title":1002,"path":1921,"stem":1922,"titleTemplate":6},"/docs/4.x/examples/experimental/wasm","docs/4.x/4.examples/7.experimental/wasm",{"title":1006,"titleTemplate":1007,"icon":1008,"path":1924,"stem":1925,"children":1926,"page":108},"/docs/4.x/community","docs/4.x/5.community",[1927,1931,1935,1939,1942,1946],{"title":1928,"path":1929,"stem":1930,"titleTemplate":6,"icon":1016},"Помощь","/docs/4.x/community/getting-help","docs/4.x/5.community/2.getting-help",{"title":1932,"path":1933,"stem":1934,"titleTemplate":6,"icon":1021},"Сообщение о багах","/docs/4.x/community/reporting-bugs","docs/4.x/5.community/3.reporting-bugs",{"title":1936,"path":1937,"stem":1938,"titleTemplate":6,"icon":1026},"Участие в разработке","/docs/4.x/community/contribution","docs/4.x/5.community/4.contribution",{"title":1028,"path":1940,"stem":1941,"titleTemplate":6,"icon":1031},"/docs/4.x/community/framework-contribution","docs/4.x/5.community/5.framework-contribution",{"title":1943,"path":1944,"stem":1945,"titleTemplate":6,"icon":1036},"Дорожная карта","/docs/4.x/community/roadmap","docs/4.x/5.community/6.roadmap",{"title":1038,"path":1947,"stem":1948,"titleTemplate":6,"icon":1041},"/docs/4.x/community/changelog","docs/4.x/5.community/7.changelog",{"title":1950,"titleTemplate":1951,"icon":1045,"path":1952,"stem":1953,"children":1954,"page":108},"Миграция на Nuxt Bridge","Миграция на Nuxt Bridge: %s","/docs/4.x/bridge","docs/4.x/6.bridge",[1955,1958,1961,1965,1969,1972,1975,1978,1981,1985],{"title":1050,"path":1956,"stem":1957,"titleTemplate":6},"/docs/4.x/bridge/overview","docs/4.x/6.bridge/1.overview",{"title":1054,"path":1959,"stem":1960,"titleTemplate":6},"/docs/4.x/bridge/configuration","docs/4.x/6.bridge/10.configuration",{"title":1962,"path":1963,"stem":1964,"titleTemplate":6},"TypeScript (поддержка)","/docs/4.x/bridge/typescript","docs/4.x/6.bridge/2.typescript",{"title":1966,"path":1967,"stem":1968,"titleTemplate":6},"Устаревший Composition API","/docs/4.x/bridge/bridge-composition-api","docs/4.x/6.bridge/3.bridge-composition-api",{"title":1065,"path":1970,"stem":1971,"titleTemplate":6},"/docs/4.x/bridge/plugins-and-middleware","docs/4.x/6.bridge/4.plugins-and-middleware",{"title":1069,"path":1973,"stem":1974,"titleTemplate":6},"/docs/4.x/bridge/nuxt3-compatible-api","docs/4.x/6.bridge/5.nuxt3-compatible-api",{"title":936,"path":1976,"stem":1977,"titleTemplate":6},"/docs/4.x/bridge/meta","docs/4.x/6.bridge/6.meta",{"title":1432,"path":1979,"stem":1980,"titleTemplate":6},"/docs/4.x/bridge/runtime-config","docs/4.x/6.bridge/7.runtime-config",{"title":1982,"path":1983,"stem":1984,"titleTemplate":6},"Nitro (сервер)","/docs/4.x/bridge/nitro","docs/4.x/6.bridge/8.nitro",{"title":1986,"path":1987,"stem":1988,"titleTemplate":6},"Vite (сборщик)","/docs/4.x/bridge/vite","docs/4.x/6.bridge/9.vite",{"title":1086,"titleTemplate":1990,"icon":107,"path":1991,"stem":1992,"children":1993,"page":108},"Migrate to Nuxt 3: %s","/docs/4.x/migration","docs/4.x/7.migration",[1994,1997,2000,2003,2006,2009,2012,2015,2018,2022,2026],{"title":1050,"path":1995,"stem":1996,"titleTemplate":6},"/docs/4.x/migration/overview","docs/4.x/7.migration/1.overview",{"title":1095,"path":1998,"stem":1999,"titleTemplate":6},"/docs/4.x/migration/bundling","docs/4.x/7.migration/10.bundling",{"title":79,"path":2001,"stem":2002,"titleTemplate":6},"/docs/4.x/migration/server","docs/4.x/7.migration/11.server",{"title":1054,"path":2004,"stem":2005,"titleTemplate":6},"/docs/4.x/migration/configuration","docs/4.x/7.migration/2.configuration",{"title":268,"path":2007,"stem":2008,"titleTemplate":6},"/docs/4.x/migration/module-authors","docs/4.x/7.migration/20.module-authors",{"title":866,"path":2010,"stem":2011,"titleTemplate":6},"/docs/4.x/migration/auto-imports","docs/4.x/7.migration/3.auto-imports",{"title":936,"path":2013,"stem":2014,"titleTemplate":6},"/docs/4.x/migration/meta","docs/4.x/7.migration/4.meta",{"title":1065,"path":2016,"stem":2017,"titleTemplate":6},"/docs/4.x/migration/plugins-and-middleware","docs/4.x/7.migration/5.plugins-and-middleware",{"title":2019,"path":2020,"stem":2021,"titleTemplate":6},"Страницы и макеты","/docs/4.x/migration/pages-and-layouts","docs/4.x/7.migration/6.pages-and-layouts",{"title":2023,"path":2024,"stem":2025,"titleTemplate":6},"Опции компонентов","/docs/4.x/migration/component-options","docs/4.x/7.migration/7.component-options",{"title":1432,"path":2027,"stem":2028,"titleTemplate":6},"/docs/4.x/migration/runtime-config","docs/4.x/7.migration/8.runtime-config",{"title":5,"titleTemplate":6,"icon":7,"path":2030,"stem":2031,"children":2032,"page":108},"/docs/5.x","docs/5.x",[2033,2091,2181,2308,2678,2755,2777,2811],{"title":1133,"titleTemplate":1134,"icon":14,"path":2034,"stem":2035,"children":2036,"page":108},"/docs/5.x/getting-started","docs/5.x/1.getting-started",[2037,2040,2043,2046,2049,2052,2055,2058,2061,2064,2067,2070,2073,2076,2079,2082,2085,2088],{"title":19,"path":2038,"stem":2039,"titleTemplate":6,"icon":22},"/docs/5.x/getting-started/introduction","docs/5.x/1.getting-started/01.introduction",{"title":24,"path":2041,"stem":2042,"titleTemplate":6,"icon":27},"/docs/5.x/getting-started/installation","docs/5.x/1.getting-started/02.installation",{"title":1054,"path":2044,"stem":2045,"titleTemplate":6,"icon":32},"/docs/5.x/getting-started/configuration","docs/5.x/1.getting-started/03.configuration",{"title":1148,"path":2047,"stem":2048,"titleTemplate":6,"icon":37},"/docs/5.x/getting-started/views","docs/5.x/1.getting-started/04.views",{"title":1152,"path":2050,"stem":2051,"titleTemplate":6,"icon":42},"/docs/5.x/getting-started/assets","docs/5.x/1.getting-started/05.assets",{"title":1156,"path":2053,"stem":2054,"titleTemplate":6,"icon":47},"/docs/5.x/getting-started/styling","docs/5.x/1.getting-started/06.styling",{"title":49,"path":2056,"stem":2057,"titleTemplate":6,"icon":52},"/docs/5.x/getting-started/routing","docs/5.x/1.getting-started/07.routing",{"title":1163,"path":2059,"stem":2060,"titleTemplate":6,"icon":57},"/docs/5.x/getting-started/seo-meta","docs/5.x/1.getting-started/08.seo-meta",{"title":59,"path":2062,"stem":2063,"titleTemplate":6,"icon":62},"/docs/5.x/getting-started/transitions","docs/5.x/1.getting-started/09.transitions",{"title":64,"path":2065,"stem":2066,"titleTemplate":6,"icon":67},"/docs/5.x/getting-started/data-fetching","docs/5.x/1.getting-started/10.data-fetching",{"title":69,"path":2068,"stem":2069,"titleTemplate":6,"icon":72},"/docs/5.x/getting-started/state-management","docs/5.x/1.getting-started/11.state-management",{"title":74,"path":2071,"stem":2072,"titleTemplate":6,"icon":77},"/docs/5.x/getting-started/error-handling","docs/5.x/1.getting-started/12.error-handling",{"title":79,"path":2074,"stem":2075,"titleTemplate":6,"icon":82},"/docs/5.x/getting-started/server","docs/5.x/1.getting-started/13.server",{"title":1182,"path":2077,"stem":2078,"titleTemplate":6,"icon":87},"/docs/5.x/getting-started/layers","docs/5.x/1.getting-started/14.layers",{"title":89,"path":2080,"stem":2081,"titleTemplate":6,"icon":92},"/docs/5.x/getting-started/prerendering","docs/5.x/1.getting-started/15.prerendering",{"title":94,"path":2083,"stem":2084,"titleTemplate":6,"icon":97},"/docs/5.x/getting-started/deployment","docs/5.x/1.getting-started/16.deployment",{"title":99,"path":2086,"stem":2087,"titleTemplate":6,"icon":102},"/docs/5.x/getting-started/testing","docs/5.x/1.getting-started/17.testing",{"title":104,"path":2089,"stem":2090,"titleTemplate":6,"icon":107},"/docs/5.x/getting-started/upgrade","docs/5.x/1.getting-started/18.upgrade",{"title":1198,"titleTemplate":1199,"icon":112,"path":2092,"stem":2093,"children":2094,"page":108},"/docs/5.x/directory-structure","docs/5.x/2.directory-structure",[2095,2098,2101,2139,2142,2145,2148,2151,2154,2157,2160,2163,2166,2169,2172,2175,2178],{"title":117,"path":2096,"stem":2097,"titleTemplate":6,"icon":1206},"/docs/5.x/directory-structure/nuxt","docs/5.x/2.directory-structure/0.nuxt",{"title":122,"path":2099,"stem":2100,"titleTemplate":6,"icon":1210},"/docs/5.x/directory-structure/output","docs/5.x/2.directory-structure/0.output",{"title":1212,"titleTemplate":1199,"head":2102,"defaultOpen":1215,"icon":1216,"path":2103,"stem":2104,"children":2105,"page":108},{"title":1214},"/docs/5.x/directory-structure/app","docs/5.x/2.directory-structure/1.app",[2106,2109,2112,2115,2118,2121,2124,2127,2130,2133,2136],{"title":1221,"path":2107,"stem":2108,"titleTemplate":6,"icon":1224},"/docs/5.x/directory-structure/app/assets","docs/5.x/2.directory-structure/1.app/1.assets",{"title":1226,"path":2110,"stem":2111,"titleTemplate":6,"icon":133},"/docs/5.x/directory-structure/app/components","docs/5.x/2.directory-structure/1.app/1.components",{"title":135,"path":2113,"stem":2114,"titleTemplate":6,"icon":1232},"/docs/5.x/directory-structure/app/composables","docs/5.x/2.directory-structure/1.app/1.composables",{"title":1234,"path":2116,"stem":2117,"titleTemplate":6,"icon":151},"/docs/5.x/directory-structure/app/layouts","docs/5.x/2.directory-structure/1.app/1.layouts",{"title":1238,"path":2119,"stem":2120,"titleTemplate":6,"icon":156},"/docs/5.x/directory-structure/app/middleware","docs/5.x/2.directory-structure/1.app/1.middleware",{"title":1242,"path":2122,"stem":2123,"titleTemplate":6,"icon":151},"/docs/5.x/directory-structure/app/pages","docs/5.x/2.directory-structure/1.app/1.pages",{"title":1246,"path":2125,"stem":2126,"titleTemplate":6,"icon":173},"/docs/5.x/directory-structure/app/plugins","docs/5.x/2.directory-structure/1.app/1.plugins",{"title":188,"path":2128,"stem":2129,"titleTemplate":6,"icon":1252},"/docs/5.x/directory-structure/app/utils","docs/5.x/2.directory-structure/1.app/1.utils",{"title":210,"path":2131,"stem":2132,"titleTemplate":6,"icon":1256},"/docs/5.x/directory-structure/app/app","docs/5.x/2.directory-structure/1.app/3.app",{"title":214,"path":2134,"stem":2135,"titleTemplate":6,"icon":1260},"/docs/5.x/directory-structure/app/app-config","docs/5.x/2.directory-structure/1.app/3.app-config",{"title":218,"path":2137,"stem":2138,"titleTemplate":6,"icon":1256},"/docs/5.x/directory-structure/app/error","docs/5.x/2.directory-structure/1.app/3.error",{"title":139,"path":2140,"stem":2141,"titleTemplate":6,"icon":1267},"/docs/5.x/directory-structure/content","docs/5.x/2.directory-structure/1.content",{"title":143,"path":2143,"stem":2144,"titleTemplate":6,"icon":146},"/docs/5.x/directory-structure/layers","docs/5.x/2.directory-structure/1.layers",{"title":158,"path":2146,"stem":2147,"titleTemplate":6,"icon":146},"/docs/5.x/directory-structure/modules","docs/5.x/2.directory-structure/1.modules",{"title":162,"path":2149,"stem":2150,"titleTemplate":6,"icon":1277},"/docs/5.x/directory-structure/node_modules","docs/5.x/2.directory-structure/1.node_modules",{"title":1279,"path":2152,"stem":2153,"titleTemplate":6,"icon":1282},"/docs/5.x/directory-structure/public","docs/5.x/2.directory-structure/1.public",{"title":179,"path":2155,"stem":2156,"titleTemplate":6,"icon":182},"/docs/5.x/directory-structure/server","docs/5.x/2.directory-structure/1.server",{"title":184,"path":2158,"stem":2159,"titleTemplate":6,"icon":1289},"/docs/5.x/directory-structure/shared","docs/5.x/2.directory-structure/1.shared",{"title":192,"path":2161,"stem":2162,"titleTemplate":6,"icon":1293},"/docs/5.x/directory-structure/env","docs/5.x/2.directory-structure/2.env",{"title":197,"path":2164,"stem":2165,"titleTemplate":6,"icon":1297},"/docs/5.x/directory-structure/gitignore","docs/5.x/2.directory-structure/2.gitignore",{"title":201,"path":2167,"stem":2168,"titleTemplate":6,"icon":204},"/docs/5.x/directory-structure/nuxtignore","docs/5.x/2.directory-structure/2.nuxtignore",{"title":206,"path":2170,"stem":2171,"titleTemplate":6,"icon":204},"/docs/5.x/directory-structure/nuxtrc","docs/5.x/2.directory-structure/2.nuxtrc",{"title":222,"path":2173,"stem":2174,"titleTemplate":6,"icon":204},"/docs/5.x/directory-structure/nuxt-config","docs/5.x/2.directory-structure/3.nuxt-config",{"title":226,"path":2176,"stem":2177,"titleTemplate":6,"icon":1310},"/docs/5.x/directory-structure/package","docs/5.x/2.directory-structure/3.package",{"title":230,"path":2179,"stem":2180,"titleTemplate":6,"icon":233},"/docs/5.x/directory-structure/tsconfig","docs/5.x/2.directory-structure/3.tsconfig",{"title":235,"titleTemplate":6,"icon":236,"path":2182,"stem":2183,"children":2184,"page":108},"/docs/5.x/guide","docs/5.x/3.guide",[2185,2210,2223,2233,2258,2274],{"title":241,"titleTemplate":242,"icon":243,"path":2186,"stem":2187,"children":2188,"page":108},"/docs/5.x/guide/concepts","docs/5.x/3.guide/1.concepts",[2189,2192,2195,2198,2201,2204,2207],{"title":248,"path":2190,"stem":2191,"titleTemplate":6},"/docs/5.x/guide/concepts/rendering","docs/5.x/3.guide/1.concepts/1.rendering",{"title":256,"path":2193,"stem":2194,"titleTemplate":6},"/docs/5.x/guide/concepts/nuxt-lifecycle","docs/5.x/3.guide/1.concepts/2.nuxt-lifecycle",{"title":866,"path":2196,"stem":2197,"titleTemplate":6},"/docs/5.x/guide/concepts/auto-imports","docs/5.x/3.guide/1.concepts/3.auto-imports",{"title":264,"path":2199,"stem":2200,"titleTemplate":6},"/docs/5.x/guide/concepts/server-engine","docs/5.x/3.guide/1.concepts/4.server-engine",{"title":268,"path":2202,"stem":2203,"titleTemplate":6},"/docs/5.x/guide/concepts/modules","docs/5.x/3.guide/1.concepts/5.modules",{"title":276,"path":2205,"stem":2206,"titleTemplate":6},"/docs/5.x/guide/concepts/typescript","docs/5.x/3.guide/1.concepts/8.typescript",{"title":280,"path":2208,"stem":2209,"titleTemplate":6},"/docs/5.x/guide/concepts/code-style","docs/5.x/3.guide/1.concepts/9.code-style",{"title":284,"titleTemplate":285,"icon":286,"path":2211,"stem":2212,"children":2213,"page":108},"/docs/5.x/guide/best-practices","docs/5.x/3.guide/2.best-practices",[2214,2217,2220],{"title":1348,"path":2215,"stem":2216,"titleTemplate":6},"/docs/5.x/guide/best-practices/hydration","docs/5.x/3.guide/2.best-practices/hydration",{"title":295,"path":2218,"stem":2219,"titleTemplate":6},"/docs/5.x/guide/best-practices/performance","docs/5.x/3.guide/2.best-practices/performance",{"title":299,"path":2221,"stem":2222,"titleTemplate":6},"/docs/5.x/guide/best-practices/plugins","docs/5.x/3.guide/2.best-practices/plugins",{"title":303,"titleTemplate":304,"icon":305,"path":2224,"stem":2225,"children":2226,"page":108},"/docs/5.x/guide/ai","docs/5.x/3.guide/3.ai",[2227,2230],{"title":1362,"path":2228,"stem":2229,"titleTemplate":6},"/docs/5.x/guide/ai/mcp","docs/5.x/3.guide/3.ai/1.mcp",{"title":314,"path":2231,"stem":2232,"titleTemplate":6},"/docs/5.x/guide/ai/llms-txt","docs/5.x/3.guide/3.ai/2.llms-txt",{"title":318,"titleTemplate":1369,"icon":320,"path":2234,"stem":2235,"children":2236,"page":108},"/docs/5.x/guide/modules","docs/5.x/3.guide/4.modules",[2237,2240,2243,2246,2249,2252,2255],{"title":325,"path":2238,"stem":2239,"titleTemplate":6},"/docs/5.x/guide/modules/getting-started","docs/5.x/3.guide/4.modules/1.getting-started",{"title":329,"path":2241,"stem":2242,"titleTemplate":6},"/docs/5.x/guide/modules/module-anatomy","docs/5.x/3.guide/4.modules/2.module-anatomy",{"title":1380,"path":2244,"stem":2245,"titleTemplate":6},"/docs/5.x/guide/modules/recipes-basics","docs/5.x/3.guide/4.modules/3.recipes-basics",{"title":1384,"path":2247,"stem":2248,"titleTemplate":6},"/docs/5.x/guide/modules/recipes-advanced","docs/5.x/3.guide/4.modules/4.recipes-advanced",{"title":341,"path":2250,"stem":2251,"titleTemplate":6},"/docs/5.x/guide/modules/testing","docs/5.x/3.guide/4.modules/5.testing",{"title":284,"path":2253,"stem":2254,"titleTemplate":6},"/docs/5.x/guide/modules/best-practices","docs/5.x/3.guide/4.modules/6.best-practices",{"title":348,"path":2256,"stem":2257,"titleTemplate":6},"/docs/5.x/guide/modules/ecosystem","docs/5.x/3.guide/4.modules/7.ecosystem",{"title":352,"titleTemplate":353,"icon":354,"path":2259,"stem":2260,"children":2261,"page":108},"/docs/5.x/guide/recipes","docs/5.x/3.guide/5.recipes",[2262,2265,2268,2271],{"title":1401,"path":2263,"stem":2264,"titleTemplate":6},"/docs/5.x/guide/recipes/custom-routing","docs/5.x/3.guide/5.recipes/1.custom-routing",{"title":363,"path":2266,"stem":2267,"titleTemplate":6},"/docs/5.x/guide/recipes/vite-plugin","docs/5.x/3.guide/5.recipes/2.vite-plugin",{"title":1408,"path":2269,"stem":2270,"titleTemplate":6},"/docs/5.x/guide/recipes/custom-usefetch","docs/5.x/3.guide/5.recipes/3.custom-usefetch",{"title":371,"path":2272,"stem":2273,"titleTemplate":6},"/docs/5.x/guide/recipes/sessions-and-authentication","docs/5.x/3.guide/5.recipes/4.sessions-and-authentication",{"title":1415,"titleTemplate":1416,"icon":377,"path":2275,"stem":2276,"children":2277,"page":108},"/docs/5.x/guide/going-further","docs/5.x/3.guide/6.going-further",[2278,2281,2284,2287,2290,2293,2296,2299,2302,2305],{"title":1421,"path":2279,"stem":2280,"titleTemplate":6},"/docs/5.x/guide/going-further/events","docs/5.x/3.guide/6.going-further/1.events",{"title":386,"path":2282,"stem":2283,"titleTemplate":6},"/docs/5.x/guide/going-further/experimental-features","docs/5.x/3.guide/6.going-further/1.experimental-features",{"title":1428,"path":2285,"stem":2286,"titleTemplate":6},"/docs/5.x/guide/going-further/features","docs/5.x/3.guide/6.going-further/1.features",{"title":1432,"path":2288,"stem":2289,"titleTemplate":6},"/docs/5.x/guide/going-further/runtime-config","docs/5.x/3.guide/6.going-further/10.runtime-config",{"title":1436,"path":2291,"stem":2292,"titleTemplate":6},"/docs/5.x/guide/going-further/nightly-release-channel","docs/5.x/3.guide/6.going-further/11.nightly-release-channel",{"title":406,"path":2294,"stem":2295,"titleTemplate":6},"/docs/5.x/guide/going-further/hooks","docs/5.x/3.guide/6.going-further/2.hooks",{"title":410,"path":2297,"stem":2298,"titleTemplate":6},"/docs/5.x/guide/going-further/kit","docs/5.x/3.guide/6.going-further/4.kit",{"title":414,"path":2300,"stem":2301,"titleTemplate":6},"/docs/5.x/guide/going-further/nuxt-app","docs/5.x/3.guide/6.going-further/6.nuxt-app",{"title":1449,"path":2303,"stem":2304,"titleTemplate":6},"/docs/5.x/guide/going-further/layers","docs/5.x/3.guide/6.going-further/7.layers",{"title":422,"path":2306,"stem":2307,"titleTemplate":6},"/docs/5.x/guide/going-further/debugging","docs/5.x/3.guide/6.going-further/9.debugging",{"title":426,"titleTemplate":1456,"icon":428,"path":2309,"stem":2310,"children":2311,"page":108},"/docs/5.x/api","docs/5.x/4.api",[2312,2364,2464,2555,2607,2665,2675],{"title":433,"titleTemplate":434,"icon":320,"path":2313,"stem":2314,"children":2315,"page":108},"/docs/5.x/api/components","docs/5.x/4.api/1.components",[2316,2319,2322,2325,2328,2331,2334,2337,2340,2343,2346,2349,2352,2355,2358,2361],{"title":439,"path":2317,"stem":2318,"titleTemplate":6},"/docs/5.x/api/components/client-only","docs/5.x/4.api/1.components/1.client-only",{"title":443,"path":2320,"stem":2321,"titleTemplate":6},"/docs/5.x/api/components/dev-only","docs/5.x/4.api/1.components/1.dev-only",{"title":447,"path":2323,"stem":2324,"titleTemplate":6},"/docs/5.x/api/components/nuxt-client-fallback","docs/5.x/4.api/1.components/1.nuxt-client-fallback",{"title":451,"path":2326,"stem":2327,"titleTemplate":6},"/docs/5.x/api/components/nuxt-picture","docs/5.x/4.api/1.components/10.nuxt-picture",{"title":455,"path":2329,"stem":2330,"titleTemplate":6},"/docs/5.x/api/components/teleports","docs/5.x/4.api/1.components/11.teleports",{"title":459,"path":2332,"stem":2333,"titleTemplate":6},"/docs/5.x/api/components/nuxt-route-announcer","docs/5.x/4.api/1.components/12.nuxt-route-announcer",{"title":464,"path":2335,"stem":2336,"titleTemplate":6},"/docs/5.x/api/components/nuxt-time","docs/5.x/4.api/1.components/13.nuxt-time",{"title":1486,"path":2338,"stem":2339,"titleTemplate":6},"/docs/5.x/api/components/nuxt-announcer","docs/5.x/4.api/1.components/14.nuxt-announcer",{"title":468,"path":2341,"stem":2342,"titleTemplate":6},"/docs/5.x/api/components/nuxt-page","docs/5.x/4.api/1.components/2.nuxt-page",{"title":472,"path":2344,"stem":2345,"titleTemplate":6},"/docs/5.x/api/components/nuxt-layout","docs/5.x/4.api/1.components/3.nuxt-layout",{"title":476,"path":2347,"stem":2348,"titleTemplate":6},"/docs/5.x/api/components/nuxt-link","docs/5.x/4.api/1.components/4.nuxt-link",{"title":480,"path":2350,"stem":2351,"titleTemplate":6},"/docs/5.x/api/components/nuxt-loading-indicator","docs/5.x/4.api/1.components/5.nuxt-loading-indicator",{"title":484,"path":2353,"stem":2354,"titleTemplate":6},"/docs/5.x/api/components/nuxt-error-boundary","docs/5.x/4.api/1.components/6.nuxt-error-boundary",{"title":488,"path":2356,"stem":2357,"titleTemplate":6},"/docs/5.x/api/components/nuxt-welcome","docs/5.x/4.api/1.components/7.nuxt-welcome",{"title":492,"path":2359,"stem":2360,"titleTemplate":6},"/docs/5.x/api/components/nuxt-island","docs/5.x/4.api/1.components/8.nuxt-island",{"title":496,"path":2362,"stem":2363,"titleTemplate":6},"/docs/5.x/api/components/nuxt-img","docs/5.x/4.api/1.components/9.nuxt-img",{"title":500,"titleTemplate":501,"icon":502,"path":2365,"stem":2366,"children":2367,"page":108},"/docs/5.x/api/composables","docs/5.x/4.api/2.composables",[2368,2371,2374,2377,2380,2383,2386,2389,2392,2395,2398,2401,2404,2407,2410,2413,2416,2419,2422,2425,2428,2431,2434,2437,2440,2443,2446,2449,2452,2455,2458,2461],{"title":1518,"path":2369,"stem":2370,"titleTemplate":6},"/docs/5.x/api/composables/create-use-async-data","docs/5.x/4.api/2.composables/create-use-async-data",{"title":1522,"path":2372,"stem":2373,"titleTemplate":6},"/docs/5.x/api/composables/create-use-fetch","docs/5.x/4.api/2.composables/create-use-fetch",{"title":507,"path":2375,"stem":2376,"titleTemplate":6},"/docs/5.x/api/composables/on-prehydrate","docs/5.x/4.api/2.composables/on-prehydrate",{"title":1529,"path":2378,"stem":2379,"titleTemplate":6},"/docs/5.x/api/composables/use-announcer","docs/5.x/4.api/2.composables/use-announcer",{"title":511,"path":2381,"stem":2382,"titleTemplate":6},"/docs/5.x/api/composables/use-app-config","docs/5.x/4.api/2.composables/use-app-config",{"title":515,"path":2384,"stem":2385,"titleTemplate":6},"/docs/5.x/api/composables/use-async-data","docs/5.x/4.api/2.composables/use-async-data",{"title":519,"path":2387,"stem":2388,"titleTemplate":6},"/docs/5.x/api/composables/use-cookie","docs/5.x/4.api/2.composables/use-cookie",{"title":523,"path":2390,"stem":2391,"titleTemplate":6},"/docs/5.x/api/composables/use-error","docs/5.x/4.api/2.composables/use-error",{"title":527,"path":2393,"stem":2394,"titleTemplate":6},"/docs/5.x/api/composables/use-fetch","docs/5.x/4.api/2.composables/use-fetch",{"title":531,"path":2396,"stem":2397,"titleTemplate":6},"/docs/5.x/api/composables/use-head","docs/5.x/4.api/2.composables/use-head",{"title":535,"path":2399,"stem":2400,"titleTemplate":6},"/docs/5.x/api/composables/use-head-safe","docs/5.x/4.api/2.composables/use-head-safe",{"title":539,"path":2402,"stem":2403,"titleTemplate":6},"/docs/5.x/api/composables/use-hydration","docs/5.x/4.api/2.composables/use-hydration",{"title":543,"path":2405,"stem":2406,"titleTemplate":6},"/docs/5.x/api/composables/use-lazy-async-data","docs/5.x/4.api/2.composables/use-lazy-async-data",{"title":547,"path":2408,"stem":2409,"titleTemplate":6},"/docs/5.x/api/composables/use-lazy-fetch","docs/5.x/4.api/2.composables/use-lazy-fetch",{"title":551,"path":2411,"stem":2412,"titleTemplate":6},"/docs/5.x/api/composables/use-loading-indicator","docs/5.x/4.api/2.composables/use-loading-indicator",{"title":555,"path":2414,"stem":2415,"titleTemplate":6},"/docs/5.x/api/composables/use-nuxt-app","docs/5.x/4.api/2.composables/use-nuxt-app",{"title":559,"path":2417,"stem":2418,"titleTemplate":6},"/docs/5.x/api/composables/use-nuxt-data","docs/5.x/4.api/2.composables/use-nuxt-data",{"title":563,"path":2420,"stem":2421,"titleTemplate":6},"/docs/5.x/api/composables/use-preview-mode","docs/5.x/4.api/2.composables/use-preview-mode",{"title":567,"path":2423,"stem":2424,"titleTemplate":6},"/docs/5.x/api/composables/use-request-event","docs/5.x/4.api/2.composables/use-request-event",{"title":571,"path":2426,"stem":2427,"titleTemplate":6},"/docs/5.x/api/composables/use-request-fetch","docs/5.x/4.api/2.composables/use-request-fetch",{"title":575,"path":2429,"stem":2430,"titleTemplate":6},"/docs/5.x/api/composables/use-request-header","docs/5.x/4.api/2.composables/use-request-header",{"title":579,"path":2432,"stem":2433,"titleTemplate":6},"/docs/5.x/api/composables/use-request-headers","docs/5.x/4.api/2.composables/use-request-headers",{"title":583,"path":2435,"stem":2436,"titleTemplate":6},"/docs/5.x/api/composables/use-request-url","docs/5.x/4.api/2.composables/use-request-url",{"title":587,"path":2438,"stem":2439,"titleTemplate":6},"/docs/5.x/api/composables/use-response-header","docs/5.x/4.api/2.composables/use-response-header",{"title":591,"path":2441,"stem":2442,"titleTemplate":6},"/docs/5.x/api/composables/use-route","docs/5.x/4.api/2.composables/use-route",{"title":595,"path":2444,"stem":2445,"titleTemplate":6},"/docs/5.x/api/composables/use-route-announcer","docs/5.x/4.api/2.composables/use-route-announcer",{"title":599,"path":2447,"stem":2448,"titleTemplate":6},"/docs/5.x/api/composables/use-router","docs/5.x/4.api/2.composables/use-router",{"title":603,"path":2450,"stem":2451,"titleTemplate":6},"/docs/5.x/api/composables/use-runtime-config","docs/5.x/4.api/2.composables/use-runtime-config",{"title":607,"path":2453,"stem":2454,"titleTemplate":6},"/docs/5.x/api/composables/use-runtime-hook","docs/5.x/4.api/2.composables/use-runtime-hook",{"title":611,"path":2456,"stem":2457,"titleTemplate":6},"/docs/5.x/api/composables/use-seo-meta","docs/5.x/4.api/2.composables/use-seo-meta",{"title":615,"path":2459,"stem":2460,"titleTemplate":6},"/docs/5.x/api/composables/use-server-seo-meta","docs/5.x/4.api/2.composables/use-server-seo-meta",{"title":619,"path":2462,"stem":2463,"titleTemplate":6},"/docs/5.x/api/composables/use-state","docs/5.x/4.api/2.composables/use-state",{"title":623,"titleTemplate":624,"icon":625,"path":2465,"stem":2466,"children":2467,"page":108},"/docs/5.x/api/utils","docs/5.x/4.api/3.utils",[2468,2471,2474,2477,2480,2483,2486,2489,2492,2495,2498,2501,2504,2507,2510,2513,2516,2519,2522,2525,2528,2531,2534,2537,2540,2543,2546,2549,2552],{"title":630,"path":2469,"stem":2470,"titleTemplate":6},"/docs/5.x/api/utils/dollarfetch","docs/5.x/4.api/3.utils/$fetch",{"title":634,"path":2472,"stem":2473,"titleTemplate":6},"/docs/5.x/api/utils/abort-navigation","docs/5.x/4.api/3.utils/abort-navigation",{"title":638,"path":2475,"stem":2476,"titleTemplate":6},"/docs/5.x/api/utils/add-route-middleware","docs/5.x/4.api/3.utils/add-route-middleware",{"title":642,"path":2478,"stem":2479,"titleTemplate":6},"/docs/5.x/api/utils/call-once","docs/5.x/4.api/3.utils/call-once",{"title":646,"path":2481,"stem":2482,"titleTemplate":6},"/docs/5.x/api/utils/clear-error","docs/5.x/4.api/3.utils/clear-error",{"title":650,"path":2484,"stem":2485,"titleTemplate":6},"/docs/5.x/api/utils/clear-nuxt-data","docs/5.x/4.api/3.utils/clear-nuxt-data",{"title":654,"path":2487,"stem":2488,"titleTemplate":6},"/docs/5.x/api/utils/clear-nuxt-state","docs/5.x/4.api/3.utils/clear-nuxt-state",{"title":658,"path":2490,"stem":2491,"titleTemplate":6},"/docs/5.x/api/utils/create-error","docs/5.x/4.api/3.utils/create-error",{"title":662,"path":2493,"stem":2494,"titleTemplate":6},"/docs/5.x/api/utils/define-lazy-hydration-component","docs/5.x/4.api/3.utils/define-lazy-hydration-component",{"title":666,"path":2496,"stem":2497,"titleTemplate":6},"/docs/5.x/api/utils/define-nuxt-component","docs/5.x/4.api/3.utils/define-nuxt-component",{"title":670,"path":2499,"stem":2500,"titleTemplate":6},"/docs/5.x/api/utils/define-nuxt-plugin","docs/5.x/4.api/3.utils/define-nuxt-plugin",{"title":674,"path":2502,"stem":2503,"titleTemplate":6},"/docs/5.x/api/utils/define-nuxt-route-middleware","docs/5.x/4.api/3.utils/define-nuxt-route-middleware",{"title":678,"path":2505,"stem":2506,"titleTemplate":6},"/docs/5.x/api/utils/define-page-meta","docs/5.x/4.api/3.utils/define-page-meta",{"title":682,"path":2508,"stem":2509,"titleTemplate":6},"/docs/5.x/api/utils/define-route-rules","docs/5.x/4.api/3.utils/define-route-rules",{"title":686,"path":2511,"stem":2512,"titleTemplate":6},"/docs/5.x/api/utils/navigate-to","docs/5.x/4.api/3.utils/navigate-to",{"title":690,"path":2514,"stem":2515,"titleTemplate":6},"/docs/5.x/api/utils/on-before-route-leave","docs/5.x/4.api/3.utils/on-before-route-leave",{"title":694,"path":2517,"stem":2518,"titleTemplate":6},"/docs/5.x/api/utils/on-before-route-update","docs/5.x/4.api/3.utils/on-before-route-update",{"title":698,"path":2520,"stem":2521,"titleTemplate":6},"/docs/5.x/api/utils/on-nuxt-ready","docs/5.x/4.api/3.utils/on-nuxt-ready",{"title":702,"path":2523,"stem":2524,"titleTemplate":6},"/docs/5.x/api/utils/prefetch-components","docs/5.x/4.api/3.utils/prefetch-components",{"title":706,"path":2526,"stem":2527,"titleTemplate":6},"/docs/5.x/api/utils/preload-components","docs/5.x/4.api/3.utils/preload-components",{"title":710,"path":2529,"stem":2530,"titleTemplate":6},"/docs/5.x/api/utils/preload-route-components","docs/5.x/4.api/3.utils/preload-route-components",{"title":714,"path":2532,"stem":2533,"titleTemplate":6},"/docs/5.x/api/utils/prerender-routes","docs/5.x/4.api/3.utils/prerender-routes",{"title":718,"path":2535,"stem":2536,"titleTemplate":6},"/docs/5.x/api/utils/refresh-cookie","docs/5.x/4.api/3.utils/refresh-cookie",{"title":722,"path":2538,"stem":2539,"titleTemplate":6},"/docs/5.x/api/utils/refresh-nuxt-data","docs/5.x/4.api/3.utils/refresh-nuxt-data",{"title":726,"path":2541,"stem":2542,"titleTemplate":6},"/docs/5.x/api/utils/reload-nuxt-app","docs/5.x/4.api/3.utils/reload-nuxt-app",{"title":730,"path":2544,"stem":2545,"titleTemplate":6},"/docs/5.x/api/utils/set-page-layout","docs/5.x/4.api/3.utils/set-page-layout",{"title":734,"path":2547,"stem":2548,"titleTemplate":6},"/docs/5.x/api/utils/set-response-status","docs/5.x/4.api/3.utils/set-response-status",{"title":738,"path":2550,"stem":2551,"titleTemplate":6},"/docs/5.x/api/utils/show-error","docs/5.x/4.api/3.utils/show-error",{"title":742,"path":2553,"stem":2554,"titleTemplate":6},"/docs/5.x/api/utils/update-app-config","docs/5.x/4.api/3.utils/update-app-config",{"title":746,"titleTemplate":6,"icon":748,"path":2556,"stem":2557,"children":2558,"page":108},"/docs/5.x/api/commands","docs/5.x/4.api/4.commands",[2559,2562,2565,2568,2571,2574,2577,2580,2583,2586,2589,2592,2595,2598,2601,2604],{"title":753,"path":2560,"stem":2561,"titleTemplate":6},"/docs/5.x/api/commands/add","docs/5.x/4.api/4.commands/add",{"title":757,"path":2563,"stem":2564,"titleTemplate":6},"/docs/5.x/api/commands/analyze","docs/5.x/4.api/4.commands/analyze",{"title":761,"path":2566,"stem":2567,"titleTemplate":6},"/docs/5.x/api/commands/build","docs/5.x/4.api/4.commands/build",{"title":765,"path":2569,"stem":2570,"titleTemplate":6},"/docs/5.x/api/commands/build-module","docs/5.x/4.api/4.commands/build-module",{"title":769,"path":2572,"stem":2573,"titleTemplate":6},"/docs/5.x/api/commands/cleanup","docs/5.x/4.api/4.commands/cleanup",{"title":773,"path":2575,"stem":2576,"titleTemplate":6},"/docs/5.x/api/commands/dev","docs/5.x/4.api/4.commands/dev",{"title":1730,"path":2578,"stem":2579,"titleTemplate":6},"/docs/5.x/api/commands/devtools","docs/5.x/4.api/4.commands/devtools",{"title":1734,"path":2581,"stem":2582,"titleTemplate":6},"/docs/5.x/api/commands/generate","docs/5.x/4.api/4.commands/generate",{"title":785,"path":2584,"stem":2585,"titleTemplate":6},"/docs/5.x/api/commands/info","docs/5.x/4.api/4.commands/info",{"title":789,"path":2587,"stem":2588,"titleTemplate":6},"/docs/5.x/api/commands/init","docs/5.x/4.api/4.commands/init",{"title":793,"path":2590,"stem":2591,"titleTemplate":6},"/docs/5.x/api/commands/module","docs/5.x/4.api/4.commands/module",{"title":1747,"path":2593,"stem":2594,"titleTemplate":6},"/docs/5.x/api/commands/prepare","docs/5.x/4.api/4.commands/prepare",{"title":1751,"path":2596,"stem":2597,"titleTemplate":6},"/docs/5.x/api/commands/preview","docs/5.x/4.api/4.commands/preview",{"title":805,"path":2599,"stem":2600,"titleTemplate":6},"/docs/5.x/api/commands/test","docs/5.x/4.api/4.commands/test",{"title":1758,"path":2602,"stem":2603,"titleTemplate":6},"/docs/5.x/api/commands/typecheck","docs/5.x/4.api/4.commands/typecheck",{"title":813,"path":2605,"stem":2606,"titleTemplate":6},"/docs/5.x/api/commands/upgrade","docs/5.x/4.api/4.commands/upgrade",{"title":1765,"titleTemplate":817,"icon":818,"path":2608,"stem":2609,"children":2610,"page":108},"/docs/5.x/api/kit","docs/5.x/4.api/5.kit",[2611,2614,2617,2620,2623,2626,2629,2632,2635,2638,2641,2644,2647,2650,2653,2656,2659,2662],{"title":268,"path":2612,"stem":2613,"titleTemplate":6},"/docs/5.x/api/kit/modules","docs/5.x/4.api/5.kit/1.modules",{"title":1773,"path":2615,"stem":2616,"titleTemplate":6},"/docs/5.x/api/kit/runtime-config","docs/5.x/4.api/5.kit/10.runtime-config",{"title":830,"path":2618,"stem":2619,"titleTemplate":6},"/docs/5.x/api/kit/templates","docs/5.x/4.api/5.kit/10.templates",{"title":1780,"path":2621,"stem":2622,"titleTemplate":6},"/docs/5.x/api/kit/nitro","docs/5.x/4.api/5.kit/11.nitro",{"title":1784,"path":2624,"stem":2625,"titleTemplate":6},"/docs/5.x/api/kit/resolving","docs/5.x/4.api/5.kit/12.resolving",{"title":1788,"path":2627,"stem":2628,"titleTemplate":6},"/docs/5.x/api/kit/logging","docs/5.x/4.api/5.kit/13.logging",{"title":1792,"path":2630,"stem":2631,"titleTemplate":6},"/docs/5.x/api/kit/builder","docs/5.x/4.api/5.kit/14.builder",{"title":850,"path":2633,"stem":2634,"titleTemplate":6},"/docs/5.x/api/kit/examples","docs/5.x/4.api/5.kit/15.examples",{"title":84,"path":2636,"stem":2637,"titleTemplate":6},"/docs/5.x/api/kit/layers","docs/5.x/4.api/5.kit/16.layers",{"title":858,"path":2639,"stem":2640,"titleTemplate":6},"/docs/5.x/api/kit/programmatic","docs/5.x/4.api/5.kit/2.programmatic",{"title":862,"path":2642,"stem":2643,"titleTemplate":6},"/docs/5.x/api/kit/compatibility","docs/5.x/4.api/5.kit/3.compatibility",{"title":866,"path":2645,"stem":2646,"titleTemplate":6},"/docs/5.x/api/kit/autoimports","docs/5.x/4.api/5.kit/4.autoimports",{"title":433,"path":2648,"stem":2649,"titleTemplate":6},"/docs/5.x/api/kit/components","docs/5.x/4.api/5.kit/5.components",{"title":873,"path":2651,"stem":2652,"titleTemplate":6},"/docs/5.x/api/kit/context","docs/5.x/4.api/5.kit/6.context",{"title":877,"path":2654,"stem":2655,"titleTemplate":6},"/docs/5.x/api/kit/pages","docs/5.x/4.api/5.kit/7.pages",{"title":1820,"path":2657,"stem":2658,"titleTemplate":6},"/docs/5.x/api/kit/layout","docs/5.x/4.api/5.kit/8.layout",{"title":1824,"path":2660,"stem":2661,"titleTemplate":6},"/docs/5.x/api/kit/head","docs/5.x/4.api/5.kit/9.head",{"title":889,"path":2663,"stem":2664,"titleTemplate":6},"/docs/5.x/api/kit/plugins","docs/5.x/4.api/5.kit/9.plugins",{"title":1831,"titleTemplate":1832,"icon":894,"path":2666,"stem":2667,"children":2668,"page":108},"/docs/5.x/api/advanced","docs/5.x/4.api/6.advanced",[2669,2672],{"title":406,"path":2670,"stem":2671,"titleTemplate":6},"/docs/5.x/api/advanced/hooks","docs/5.x/4.api/6.advanced/1.hooks",{"title":1840,"path":2673,"stem":2674,"titleTemplate":6},"/docs/5.x/api/advanced/import-meta","docs/5.x/4.api/6.advanced/2.import-meta",{"title":906,"path":2676,"stem":2677,"titleTemplate":909,"icon":32},"/docs/5.x/api/nuxt-config","docs/5.x/4.api/6.nuxt-config",{"title":911,"titleTemplate":912,"icon":913,"path":2679,"stem":2680,"children":2681,"page":108},"/docs/5.x/examples","docs/5.x/4.examples",[2682,2685,2704,2717,2748],{"title":918,"path":2683,"stem":2684,"titleTemplate":6},"/docs/5.x/examples/hello-world","docs/5.x/4.examples/0.hello-world",{"title":922,"path":2686,"stem":2687,"children":2688,"page":108},"/docs/5.x/examples/features","docs/5.x/4.examples/1.features",[2689,2692,2695,2698,2701],{"title":260,"path":2690,"stem":2691,"titleTemplate":6},"/docs/5.x/examples/features/auto-imports","docs/5.x/4.examples/1.features/1.auto-imports",{"title":64,"path":2693,"stem":2694,"titleTemplate":6},"/docs/5.x/examples/features/data-fetching","docs/5.x/4.examples/1.features/2.data-fetching",{"title":69,"path":2696,"stem":2697,"titleTemplate":6},"/docs/5.x/examples/features/state-management","docs/5.x/4.examples/1.features/3.state-management",{"title":936,"path":2699,"stem":2700,"titleTemplate":6},"/docs/5.x/examples/features/meta-tags","docs/5.x/4.examples/1.features/4.meta-tags",{"title":940,"path":2702,"stem":2703,"titleTemplate":6},"/docs/5.x/examples/features/layouts","docs/5.x/4.examples/1.features/5.layouts",{"title":944,"path":2705,"stem":2706,"children":2707,"page":108},"/docs/5.x/examples/routing","docs/5.x/4.examples/2.routing",[2708,2711,2714],{"title":949,"path":2709,"stem":2710,"titleTemplate":6},"/docs/5.x/examples/routing/middleware","docs/5.x/4.examples/2.routing/middleware",{"title":877,"path":2712,"stem":2713,"titleTemplate":6},"/docs/5.x/examples/routing/pages","docs/5.x/4.examples/2.routing/pages",{"title":956,"path":2715,"stem":2716,"titleTemplate":6},"/docs/5.x/examples/routing/universal-router","docs/5.x/4.examples/2.routing/universal-router",{"title":893,"path":2718,"stem":2719,"children":2720,"page":108},"/docs/5.x/examples/advanced","docs/5.x/4.examples/4.advanced",[2721,2724,2727,2730,2733,2736,2739,2742,2745],{"title":84,"path":2722,"stem":2723,"titleTemplate":6},"/docs/5.x/examples/advanced/config-extends","docs/5.x/4.examples/4.advanced/config-extends",{"title":74,"path":2725,"stem":2726,"titleTemplate":6},"/docs/5.x/examples/advanced/error-handling","docs/5.x/4.examples/4.advanced/error-handling",{"title":970,"path":2728,"stem":2729,"titleTemplate":6},"/docs/5.x/examples/advanced/jsx","docs/5.x/4.examples/4.advanced/jsx",{"title":974,"path":2731,"stem":2732,"titleTemplate":6},"/docs/5.x/examples/advanced/locale","docs/5.x/4.examples/4.advanced/locale",{"title":978,"path":2734,"stem":2735,"titleTemplate":6},"/docs/5.x/examples/advanced/module-extend-pages","docs/5.x/4.examples/4.advanced/module-extend-pages",{"title":982,"path":2737,"stem":2738,"titleTemplate":6},"/docs/5.x/examples/advanced/teleport","docs/5.x/4.examples/4.advanced/teleport",{"title":99,"path":2740,"stem":2741,"titleTemplate":6},"/docs/5.x/examples/advanced/testing","docs/5.x/4.examples/4.advanced/testing",{"title":989,"path":2743,"stem":2744,"titleTemplate":6},"/docs/5.x/examples/advanced/use-cookie","docs/5.x/4.examples/4.advanced/use-cookie",{"title":993,"path":2746,"stem":2747,"titleTemplate":6},"/docs/5.x/examples/advanced/use-custom-fetch-composable","docs/5.x/4.examples/4.advanced/use-custom-fetch-composable",{"title":997,"path":2749,"stem":2750,"children":2751,"page":108},"/docs/5.x/examples/experimental","docs/5.x/4.examples/7.experimental",[2752],{"title":1002,"path":2753,"stem":2754,"titleTemplate":6},"/docs/5.x/examples/experimental/wasm","docs/5.x/4.examples/7.experimental/wasm",{"title":1006,"titleTemplate":1007,"icon":1008,"path":2756,"stem":2757,"children":2758,"page":108},"/docs/5.x/community","docs/5.x/5.community",[2759,2762,2765,2768,2771,2774],{"title":1928,"path":2760,"stem":2761,"titleTemplate":6,"icon":1016},"/docs/5.x/community/getting-help","docs/5.x/5.community/2.getting-help",{"title":1932,"path":2763,"stem":2764,"titleTemplate":6,"icon":1021},"/docs/5.x/community/reporting-bugs","docs/5.x/5.community/3.reporting-bugs",{"title":1936,"path":2766,"stem":2767,"titleTemplate":6,"icon":1026},"/docs/5.x/community/contribution","docs/5.x/5.community/4.contribution",{"title":1028,"path":2769,"stem":2770,"titleTemplate":6,"icon":1031},"/docs/5.x/community/framework-contribution","docs/5.x/5.community/5.framework-contribution",{"title":1943,"path":2772,"stem":2773,"titleTemplate":6,"icon":1036},"/docs/5.x/community/roadmap","docs/5.x/5.community/6.roadmap",{"title":1038,"path":2775,"stem":2776,"titleTemplate":6,"icon":1041},"/docs/5.x/community/changelog","docs/5.x/5.community/7.changelog",{"title":1950,"titleTemplate":1951,"icon":1045,"path":2778,"stem":2779,"children":2780,"page":108},"/docs/5.x/bridge","docs/5.x/6.bridge",[2781,2784,2787,2790,2793,2796,2799,2802,2805,2808],{"title":1050,"path":2782,"stem":2783,"titleTemplate":6},"/docs/5.x/bridge/overview","docs/5.x/6.bridge/1.overview",{"title":1054,"path":2785,"stem":2786,"titleTemplate":6},"/docs/5.x/bridge/configuration","docs/5.x/6.bridge/10.configuration",{"title":1962,"path":2788,"stem":2789,"titleTemplate":6},"/docs/5.x/bridge/typescript","docs/5.x/6.bridge/2.typescript",{"title":1966,"path":2791,"stem":2792,"titleTemplate":6},"/docs/5.x/bridge/bridge-composition-api","docs/5.x/6.bridge/3.bridge-composition-api",{"title":1065,"path":2794,"stem":2795,"titleTemplate":6},"/docs/5.x/bridge/plugins-and-middleware","docs/5.x/6.bridge/4.plugins-and-middleware",{"title":1069,"path":2797,"stem":2798,"titleTemplate":6},"/docs/5.x/bridge/nuxt3-compatible-api","docs/5.x/6.bridge/5.nuxt3-compatible-api",{"title":936,"path":2800,"stem":2801,"titleTemplate":6},"/docs/5.x/bridge/meta","docs/5.x/6.bridge/6.meta",{"title":1432,"path":2803,"stem":2804,"titleTemplate":6},"/docs/5.x/bridge/runtime-config","docs/5.x/6.bridge/7.runtime-config",{"title":1982,"path":2806,"stem":2807,"titleTemplate":6},"/docs/5.x/bridge/nitro","docs/5.x/6.bridge/8.nitro",{"title":1986,"path":2809,"stem":2810,"titleTemplate":6},"/docs/5.x/bridge/vite","docs/5.x/6.bridge/9.vite",{"title":1086,"titleTemplate":1990,"icon":107,"path":2812,"stem":2813,"children":2814,"page":108},"/docs/5.x/migration","docs/5.x/7.migration",[2815,2818,2821,2824,2827,2830,2833,2836,2839,2842,2845],{"title":1050,"path":2816,"stem":2817,"titleTemplate":6},"/docs/5.x/migration/overview","docs/5.x/7.migration/1.overview",{"title":1095,"path":2819,"stem":2820,"titleTemplate":6},"/docs/5.x/migration/bundling","docs/5.x/7.migration/10.bundling",{"title":79,"path":2822,"stem":2823,"titleTemplate":6},"/docs/5.x/migration/server","docs/5.x/7.migration/11.server",{"title":1054,"path":2825,"stem":2826,"titleTemplate":6},"/docs/5.x/migration/configuration","docs/5.x/7.migration/2.configuration",{"title":268,"path":2828,"stem":2829,"titleTemplate":6},"/docs/5.x/migration/module-authors","docs/5.x/7.migration/20.module-authors",{"title":866,"path":2831,"stem":2832,"titleTemplate":6},"/docs/5.x/migration/auto-imports","docs/5.x/7.migration/3.auto-imports",{"title":936,"path":2834,"stem":2835,"titleTemplate":6},"/docs/5.x/migration/meta","docs/5.x/7.migration/4.meta",{"title":1065,"path":2837,"stem":2838,"titleTemplate":6},"/docs/5.x/migration/plugins-and-middleware","docs/5.x/7.migration/5.plugins-and-middleware",{"title":2019,"path":2840,"stem":2841,"titleTemplate":6},"/docs/5.x/migration/pages-and-layouts","docs/5.x/7.migration/6.pages-and-layouts",{"title":2023,"path":2843,"stem":2844,"titleTemplate":6},"/docs/5.x/migration/component-options","docs/5.x/7.migration/7.component-options",{"title":1432,"path":2846,"stem":2847,"titleTemplate":6},"/docs/5.x/migration/runtime-config","docs/5.x/7.migration/8.runtime-config",{"title":2849,"path":2850,"stem":2851,"children":2852,"page":108},"Blog","/blog","blog",[2853,2857,2861,2865,2869,2873,2877,2881,2885,2889,2893,2897,2901,2905,2909,2913,2917,2921,2925,2929,2933],{"title":2854,"path":2855,"stem":2856},"Анонс 3.0","/blog/v3","blog/1.v3",{"title":2858,"path":2859,"stem":2860},"Nuxt 3.3","/blog/v3-3","blog/10.v3-3",{"title":2862,"path":2863,"stem":2864},"Nuxt 3.4","/blog/v3-4","blog/11.v3-4",{"title":2866,"path":2867,"stem":2868},"Nuxt 3.5","/blog/v3-5","blog/12.v3-5",{"title":2870,"path":2871,"stem":2872},"Nuxt 3.6","/blog/v3-6","blog/13.v3-6",{"title":2874,"path":2875,"stem":2876},"Nuxt на Edge","/blog/nuxt-on-the-edge","blog/14.nuxt-on-the-edge",{"title":2878,"path":2879,"stem":2880},"Nuxt DevTools v1.0","/blog/nuxt-devtools-v1-0","blog/18.nuxt-devtools-v1-0",{"title":2882,"path":2883,"stem":2884},"Nuxt: Видение на 2023 год","/blog/vision-2023","blog/2.vision-2023",{"title":2886,"path":2887,"stem":2888},"Эволюция Shiki v1.0","/blog/shiki-v1","blog/21.shiki-v1",{"title":2890,"path":2891,"stem":2892},"Обновленная интеграция Nuxt ESLint","/blog/eslint-module","blog/24.eslint-module",{"title":2894,"path":2895,"stem":2896},"Введение в Nuxt Scripts","/blog/nuxt-scripts","blog/26.nuxt-scripts",{"title":2898,"path":2899,"stem":2900},"Представляем Nuxt Icon v1","/blog/nuxt-icon-v1-0","blog/29.nuxt-icon-v1-0",{"title":2902,"path":2903,"stem":2904},"Представляем Nuxt DevTools","/blog/introducing-nuxt-devtools","blog/3.introducing-nuxt-devtools",{"title":2906,"path":2907,"stem":2908},"Анонс релиз-кандидата Nuxt 3","/blog/nuxt3-rc","blog/3.nuxt3-rc",{"title":2910,"path":2911,"stem":2912},"Прекращение поддержки (EOL) Nuxt 2","/blog/nuxt2-eol","blog/4.nuxt2-eol",{"title":2914,"path":2915,"stem":2916},"Представляем Nuxt 3 Beta","/blog/nuxt3-beta","blog/4.nuxt3-beta",{"title":2918,"path":2919,"stem":2920},"Переход на полную статику","/blog/going-full-static","blog/5.going-full-static",{"title":2922,"path":2923,"stem":2924},"Введение в умную предзагрузку","/blog/introducing-smart-prefetching","blog/6.introducing-smart-prefetching",{"title":2926,"path":2927,"stem":2928},"Понимание работы fetch в Nuxt 2.12","/blog/understanding-how-fetch-works-in-nuxt-2-12","blog/7.understanding-how-fetch-works-in-nuxt-2-12",{"title":2930,"path":2931,"stem":2932},"Улучшения статики Nuxt 2","/blog/nuxt-static-improvements","blog/8.nuxt-static-improvements",{"title":2934,"path":2935,"stem":2936},"Nuxt 2: От терминала к браузеру","/blog/nuxtjs-from-terminal-to-browser","blog/9.nuxtjs-from-terminal-to-browser",{"v5":2938,"v4":2939,"v3":2940,"v2":2941},"5 (nightly)","4.4.2","3.21.2","2.18.1",{"id":2943,"title":130,"body":2944,"description":6464,"extension":6465,"links":6,"meta":6466,"navigation":6469,"path":131,"seo":6470,"stem":132,"titleTemplate":6,"__hash__":6471},"docsv3/docs/3.x/2.directory-structure/1.components.md",{"type":2945,"value":2946,"toc":6443},"minimark",[2947,2951,2999,3079,3084,3087,3129,3132,3146,3160,3171,3273,3287,3291,3335,3338,3489,3498,3503,3506,3546,3557,3566,3570,3577,3583,3771,3775,3781,3784,3787,3792,3795,3804,3816,3822,3825,3874,3884,3898,3903,3906,3909,3957,3968,3973,3976,4033,4047,4058,4063,4066,4123,4134,4139,4142,4199,4204,4207,4354,4358,4361,4409,4413,4420,4556,4560,4563,4628,4632,4638,4864,4868,4874,5047,5052,5056,5069,5258,5262,5278,5360,5364,5371,5392,5444,5452,5470,5477,5481,5484,5491,5495,5504,5508,5511,5514,5525,5573,5580,5602,5675,5691,5696,5701,5706,5711,5715,5723,5730,5821,5834,5838,5848,5851,5880,5885,5892,5904,5908,5917,5947,5997,6001,6009,6017,6021,6024,6036,6039,6123,6132,6294,6299,6342,6351,6430,6436,6439],[2948,2949,2950],"p",{},"Nuxt автоматически импортирует компоненты из этого каталога и компоненты, которые регистрируют подключённые модули.",[2952,2953,2959],"pre",{"className":2954,"code":2955,"filename":2956,"language":2957,"meta":2958,"style":2958},"language-bash shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","-| components/\n---| AppHeader.vue\n---| AppFooter.vue\n","Directory Structure","bash","",[2960,2961,2962,2978,2989],"code",{"__ignoreMap":2958},[2963,2964,2967,2971,2975],"span",{"class":2965,"line":2966},"line",1,[2963,2968,2970],{"class":2969},"s52Pk","-",[2963,2972,2974],{"class":2973},"sDfIl","|",[2963,2976,2977],{"class":2969}," components/\n",[2963,2979,2981,2984,2986],{"class":2965,"line":2980},2,[2963,2982,2983],{"class":2969},"---",[2963,2985,2974],{"class":2973},[2963,2987,2988],{"class":2969}," AppHeader.vue\n",[2963,2990,2992,2994,2996],{"class":2965,"line":2991},3,[2963,2993,2983],{"class":2969},[2963,2995,2974],{"class":2973},[2963,2997,2998],{"class":2969}," AppFooter.vue\n",[2952,3000,3004],{"className":3001,"code":3002,"filename":210,"language":3003,"meta":2958,"style":2958},"language-html shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003Ctemplate>\n  \u003Cdiv>\n    \u003CAppHeader />\n    \u003CNuxtPage />\n    \u003CAppFooter />\n  \u003C/div>\n\u003C/template>\n","html",[2960,3005,3006,3018,3028,3039,3049,3059,3069],{"__ignoreMap":2958},[2963,3007,3008,3011,3015],{"class":2965,"line":2966},[2963,3009,3010],{"class":2973},"\u003C",[2963,3012,3014],{"class":3013},"sRlkE","template",[2963,3016,3017],{"class":2973},">\n",[2963,3019,3020,3023,3026],{"class":2965,"line":2980},[2963,3021,3022],{"class":2973},"  \u003C",[2963,3024,3025],{"class":3013},"div",[2963,3027,3017],{"class":2973},[2963,3029,3030,3033,3036],{"class":2965,"line":2991},[2963,3031,3032],{"class":2973},"    \u003C",[2963,3034,3035],{"class":3013},"AppHeader",[2963,3037,3038],{"class":2973}," />\n",[2963,3040,3042,3044,3047],{"class":2965,"line":3041},4,[2963,3043,3032],{"class":2973},[2963,3045,3046],{"class":3013},"NuxtPage",[2963,3048,3038],{"class":2973},[2963,3050,3052,3054,3057],{"class":2965,"line":3051},5,[2963,3053,3032],{"class":2973},[2963,3055,3056],{"class":3013},"AppFooter",[2963,3058,3038],{"class":2973},[2963,3060,3062,3065,3067],{"class":2965,"line":3061},6,[2963,3063,3064],{"class":2973},"  \u003C/",[2963,3066,3025],{"class":3013},[2963,3068,3017],{"class":2973},[2963,3070,3072,3075,3077],{"class":2965,"line":3071},7,[2963,3073,3074],{"class":2973},"\u003C/",[2963,3076,3014],{"class":3013},[2963,3078,3017],{"class":2973},[3080,3081,3083],"h2",{"id":3082},"имена-компонентов","Имена компонентов",[2948,3085,3086],{},"Если у вас есть компонент во вложенных директориях, например:",[2952,3088,3090],{"className":2954,"code":3089,"filename":2956,"language":2957,"meta":2958,"style":2958},"-| components/\n---| base/\n-----| foo/\n-------| Button.vue\n",[2960,3091,3092,3100,3109,3119],{"__ignoreMap":2958},[2963,3093,3094,3096,3098],{"class":2965,"line":2966},[2963,3095,2970],{"class":2969},[2963,3097,2974],{"class":2973},[2963,3099,2977],{"class":2969},[2963,3101,3102,3104,3106],{"class":2965,"line":2980},[2963,3103,2983],{"class":2969},[2963,3105,2974],{"class":2973},[2963,3107,3108],{"class":2969}," base/\n",[2963,3110,3111,3114,3116],{"class":2965,"line":2991},[2963,3112,3113],{"class":2969},"-----",[2963,3115,2974],{"class":2973},[2963,3117,3118],{"class":2969}," foo/\n",[2963,3120,3121,3124,3126],{"class":2965,"line":3041},[2963,3122,3123],{"class":2969},"-------",[2963,3125,2974],{"class":2973},[2963,3127,3128],{"class":2969}," Button.vue\n",[2948,3130,3131],{},"... тогда имя компонента будет основано на его пути в директориях и имени файла, при этом повторяющиеся сегменты будут удалены. Таким образом, имя компонента будет:",[2952,3133,3135],{"className":3001,"code":3134,"language":3003,"meta":2958,"style":2958},"\u003CBaseFooButton />\n",[2960,3136,3137],{"__ignoreMap":2958},[2963,3138,3139,3141,3144],{"class":2965,"line":2966},[2963,3140,3010],{"class":2973},[2963,3142,3143],{"class":3013},"BaseFooButton",[2963,3145,3038],{"class":2973},[3147,3148,3149],"note",{},[2948,3150,3151,3152,3155,3156,3159],{},"Для ясности лучше, чтобы имя файла совпадало с именем компонента. В примере выше можно переименовать ",[2960,3153,3154],{},"Button.vue"," в ",[2960,3157,3158],{},"BaseFooButton.vue",".",[2948,3161,3162,3163,3166,3167,3170],{},"Если вы хотите автоматически импортировать компоненты только на основе их имени, а не пути, вам необходимо установить для параметра ",[2960,3164,3165],{},"pathPrefix"," значение ",[2960,3168,3169],{},"false",", используя расширенную форму объекта конфигурации:",[2952,3172,3177],{"className":3173,"code":3174,"filename":222,"language":3175,"meta":3176,"style":2958},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight has-diff","export default defineNuxtConfig({\n  components: [\n    {\n      path: '~/components',\n      pathPrefix: false, // [!code ++]\n    },\n  ],\n})\n","ts","twoslash",[2960,3178,3179,3199,3210,3215,3235,3252,3257,3264],{"__ignoreMap":2958},[2963,3180,3181,3185,3188,3192,3196],{"class":2965,"line":2966},[2963,3182,3184],{"class":3183},"s8R28","export",[2963,3186,3187],{"class":3183}," default",[2963,3189,3191],{"class":3190},"s3cPz"," defineNuxtConfig",[2963,3193,3195],{"class":3194},"sZSNi","(",[2963,3197,3198],{"class":2973},"{\n",[2963,3200,3201,3204,3207],{"class":2965,"line":2980},[2963,3202,3203],{"class":3013},"  components",[2963,3205,3206],{"class":2973},":",[2963,3208,3209],{"class":3194}," [\n",[2963,3211,3212],{"class":2965,"line":2991},[2963,3213,3214],{"class":2973},"    {\n",[2963,3216,3217,3220,3222,3225,3229,3232],{"class":2965,"line":3041},[2963,3218,3219],{"class":3013},"      path",[2963,3221,3206],{"class":2973},[2963,3223,3224],{"class":2973}," '",[2963,3226,3228],{"class":3227},"sGFVr","~/components",[2963,3230,3231],{"class":2973},"'",[2963,3233,3234],{"class":2973},",\n",[2963,3236,3240,3243,3245,3249],{"class":3237,"line":3051},[2965,3238,3239],"diff","add",[2963,3241,3242],{"class":3013},"      pathPrefix",[2963,3244,3206],{"class":2973},[2963,3246,3248],{"class":3247},"sbKd-"," false",[2963,3250,3251],{"class":2973},",",[2963,3253,3254],{"class":2965,"line":3061},[2963,3255,3256],{"class":2973},"    },\n",[2963,3258,3259,3262],{"class":2965,"line":3071},[2963,3260,3261],{"class":3194},"  ]",[2963,3263,3234],{"class":2973},[2963,3265,3267,3270],{"class":2965,"line":3266},8,[2963,3268,3269],{"class":2973},"}",[2963,3271,3272],{"class":3194},")\n",[2948,3274,3275,3276,3279,3280,3283,3284,3159],{},"При этом компоненты будут регистрироваться с использованием той же стратегии, что и в Nuxt 2. Например, ",[2960,3277,3278],{},"~/components/Some/MyComponent.vue"," будет использоваться как ",[2960,3281,3282],{},"\u003CMyComponent>"," но не ",[2960,3285,3286],{},"\u003CSomeMyComponent>",[3080,3288,3290],{"id":3289},"динамические-компоненты","Динамические компоненты",[2948,3292,3293,3294,3324,3325,3328,3329,3332,3333,3159],{},"Если вы хотите использовать синтаксис Vue ",[2960,3295,3298,3300,3303,3306,3310,3313,3316,3319,3321],{"className":3296,"language":3297,"style":2958},"language-vue shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","vue",[2963,3299,3010],{"class":2973},[2963,3301,3302],{"class":3013},"component",[2963,3304,3305],{"class":2973}," :",[2963,3307,3309],{"class":3308},"smZ93","is",[2963,3311,3312],{"class":2973},"=",[2963,3314,3315],{"class":2973},"\"",[2963,3317,3318],{"class":3194},"someComputedComponent",[2963,3320,3315],{"class":2973},[2963,3322,3323],{"class":2973},">",", вам необходимо использовать помощник ",[2960,3326,3327],{},"resolveComponent",", предоставляемый Vue, или импортировать компонент напрямую из ",[2960,3330,3331],{},"#components"," и передать его в свойство ",[2960,3334,3309],{},[2948,3336,3337],{},"Например:",[2952,3339,3342],{"className":3296,"code":3340,"filename":3341,"language":3297,"meta":2958,"style":2958},"\u003Cscript setup lang=\"ts\">\nimport { SomeComponent } from '#components'\n\nconst MyButton = resolveComponent('MyButton')\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Ccomponent :is=\"clickable ? MyButton : 'div'\" />\n  \u003Ccomponent :is=\"SomeComponent\" />\n\u003C/template>\n","pages/index.vue",[2960,3343,3344,3367,3391,3396,3420,3428,3432,3440,3460,3480],{"__ignoreMap":2958},[2963,3345,3346,3348,3351,3354,3357,3359,3361,3363,3365],{"class":2965,"line":2966},[2963,3347,3010],{"class":2973},[2963,3349,3350],{"class":3013},"script",[2963,3352,3353],{"class":3308}," setup",[2963,3355,3356],{"class":3308}," lang",[2963,3358,3312],{"class":2973},[2963,3360,3315],{"class":2973},[2963,3362,3175],{"class":3227},[2963,3364,3315],{"class":2973},[2963,3366,3017],{"class":2973},[2963,3368,3369,3372,3375,3378,3381,3384,3386,3388],{"class":2965,"line":2980},[2963,3370,3371],{"class":3183},"import",[2963,3373,3374],{"class":2973}," {",[2963,3376,3377],{"class":3194}," SomeComponent",[2963,3379,3380],{"class":2973}," }",[2963,3382,3383],{"class":3183}," from",[2963,3385,3224],{"class":2973},[2963,3387,3331],{"class":3227},[2963,3389,3390],{"class":2973},"'\n",[2963,3392,3393],{"class":2965,"line":2991},[2963,3394,3395],{"emptyLinePlaceholder":1215},"\n",[2963,3397,3398,3401,3404,3406,3409,3411,3413,3416,3418],{"class":2965,"line":3041},[2963,3399,3400],{"class":3308},"const",[2963,3402,3403],{"class":3194}," MyButton ",[2963,3405,3312],{"class":2973},[2963,3407,3408],{"class":3190}," resolveComponent",[2963,3410,3195],{"class":3194},[2963,3412,3231],{"class":2973},[2963,3414,3415],{"class":3227},"MyButton",[2963,3417,3231],{"class":2973},[2963,3419,3272],{"class":3194},[2963,3421,3422,3424,3426],{"class":2965,"line":3051},[2963,3423,3074],{"class":2973},[2963,3425,3350],{"class":3013},[2963,3427,3017],{"class":2973},[2963,3429,3430],{"class":2965,"line":3061},[2963,3431,3395],{"emptyLinePlaceholder":1215},[2963,3433,3434,3436,3438],{"class":2965,"line":3071},[2963,3435,3010],{"class":2973},[2963,3437,3014],{"class":3013},[2963,3439,3017],{"class":2973},[2963,3441,3442,3444,3446,3449,3451,3453,3456,3458],{"class":2965,"line":3266},[2963,3443,3022],{"class":2973},[2963,3445,3302],{"class":3013},[2963,3447,3448],{"class":3308}," :is",[2963,3450,3312],{"class":2973},[2963,3452,3315],{"class":2973},[2963,3454,3455],{"class":3227},"clickable ? MyButton : 'div'",[2963,3457,3315],{"class":2973},[2963,3459,3038],{"class":2973},[2963,3461,3463,3465,3467,3469,3471,3473,3476,3478],{"class":2965,"line":3462},9,[2963,3464,3022],{"class":2973},[2963,3466,3302],{"class":3013},[2963,3468,3448],{"class":3308},[2963,3470,3312],{"class":2973},[2963,3472,3315],{"class":2973},[2963,3474,3475],{"class":3227},"SomeComponent",[2963,3477,3315],{"class":2973},[2963,3479,3038],{"class":2973},[2963,3481,3483,3485,3487],{"class":2965,"line":3482},10,[2963,3484,3074],{"class":2973},[2963,3486,3014],{"class":3013},[2963,3488,3017],{"class":2973},[3490,3491,3492],"important",{},[2948,3493,3494,3495,3497],{},"Если вы используете ",[2960,3496,3327],{}," для обработки динамических компонентов, убедитесь, что вы не передаете ничего, кроме имени компонента, которое должно быть строкой, а не переменной. Строка статически анализируется на этапе компиляции.",[3499,3500],"video-accordion",{"title":3501,"video-id":3502},"Короткое видео Дэниела Ро о resolveComponent()","4kq8E5IUM2U",[2948,3504,3505],{},"В качестве альтернативы, хотя это и не рекомендуется, вы можете зарегистрировать все компоненты глобально, что создаст асинхронные чанки для всех ваших компонентов и сделает их доступными во всем приложении.",[2952,3507,3510],{"className":3508,"code":3509,"language":3238,"meta":2958,"style":2958},"language-diff shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","  export default defineNuxtConfig({\n    components: {\n+     global: true,\n+     dirs: ['~/components']\n    },\n  })\n",[2960,3511,3512,3517,3522,3530,3537,3541],{"__ignoreMap":2958},[2963,3513,3514],{"class":2965,"line":2966},[2963,3515,3516],{"class":3194},"  export default defineNuxtConfig({\n",[2963,3518,3519],{"class":2965,"line":2980},[2963,3520,3521],{"class":3194},"    components: {\n",[2963,3523,3524,3527],{"class":2965,"line":2991},[2963,3525,3526],{"class":2973},"+",[2963,3528,3529],{"class":3227},"     global: true,\n",[2963,3531,3532,3534],{"class":2965,"line":3041},[2963,3533,3526],{"class":2973},[2963,3535,3536],{"class":3227},"     dirs: ['~/components']\n",[2963,3538,3539],{"class":2965,"line":3051},[2963,3540,3256],{"class":3194},[2963,3542,3543],{"class":2965,"line":3061},[2963,3544,3545],{"class":3194},"  })\n",[2948,3547,3548,3549,3552,3553,3556],{},"Вы также можете выборочно зарегистрировать некоторые компоненты глобально, поместив их в директорию ",[2960,3550,3551],{},"~/components/global"," или используя суффикс ",[2960,3554,3555],{},".global.vue"," в имени файла. Как отмечено выше, каждый глобальный компонент отображается в отдельном чанке, поэтому будьте осторожны и не злоупотребляйте этой функцией.",[3147,3558,3559],{},[2948,3560,3561,3562,3565],{},"Параметр ",[2960,3563,3564],{},"global"," также можно задать для каждой директории компонента.",[3080,3567,3569],{"id":3568},"динамические-импорты","Динамические импорты",[2948,3571,3572,3573,3576],{},"Для динамического импорта компонента (также известного как ленивая загрузка компонента) все, что вам нужно сделать, это добавить префикс ",[2960,3574,3575],{},"Lazy"," к имени компонента. Это особенно полезно, если компонент нужен не всегда.",[2948,3578,3579,3580,3582],{},"Используя префикс ",[2960,3581,3575],{},", вы можете отложить загрузку кода компонента до подходящего момента, что может быть полезно для оптимизации размера пакета JavaScript.",[2952,3584,3586],{"className":3296,"code":3585,"filename":3341,"language":3297,"meta":2958,"style":2958},"\u003Cscript setup lang=\"ts\">\nconst show = ref(false)\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Ch1>Горы\u003C/h1>\n    \u003CLazyMountainsList v-if=\"show\" />\n    \u003Cbutton\n      v-if=\"!show\"\n      @click=\"show = true\"\n    >\n      Показать список\n    \u003C/button>\n  \u003C/div>\n\u003C/template>\n",[2960,3587,3588,3608,3626,3634,3638,3646,3654,3672,3693,3700,3715,3730,3736,3742,3753,3762],{"__ignoreMap":2958},[2963,3589,3590,3592,3594,3596,3598,3600,3602,3604,3606],{"class":2965,"line":2966},[2963,3591,3010],{"class":2973},[2963,3593,3350],{"class":3013},[2963,3595,3353],{"class":3308},[2963,3597,3356],{"class":3308},[2963,3599,3312],{"class":2973},[2963,3601,3315],{"class":2973},[2963,3603,3175],{"class":3227},[2963,3605,3315],{"class":2973},[2963,3607,3017],{"class":2973},[2963,3609,3610,3612,3615,3617,3620,3622,3624],{"class":2965,"line":2980},[2963,3611,3400],{"class":3308},[2963,3613,3614],{"class":3194}," show ",[2963,3616,3312],{"class":2973},[2963,3618,3619],{"class":3190}," ref",[2963,3621,3195],{"class":3194},[2963,3623,3169],{"class":3247},[2963,3625,3272],{"class":3194},[2963,3627,3628,3630,3632],{"class":2965,"line":2991},[2963,3629,3074],{"class":2973},[2963,3631,3350],{"class":3013},[2963,3633,3017],{"class":2973},[2963,3635,3636],{"class":2965,"line":3041},[2963,3637,3395],{"emptyLinePlaceholder":1215},[2963,3639,3640,3642,3644],{"class":2965,"line":3051},[2963,3641,3010],{"class":2973},[2963,3643,3014],{"class":3013},[2963,3645,3017],{"class":2973},[2963,3647,3648,3650,3652],{"class":2965,"line":3061},[2963,3649,3022],{"class":2973},[2963,3651,3025],{"class":3013},[2963,3653,3017],{"class":2973},[2963,3655,3656,3658,3661,3663,3666,3668,3670],{"class":2965,"line":3071},[2963,3657,3032],{"class":2973},[2963,3659,3660],{"class":3013},"h1",[2963,3662,3323],{"class":2973},[2963,3664,3665],{"class":3194},"Горы",[2963,3667,3074],{"class":2973},[2963,3669,3660],{"class":3013},[2963,3671,3017],{"class":2973},[2963,3673,3674,3676,3679,3682,3684,3686,3689,3691],{"class":2965,"line":3266},[2963,3675,3032],{"class":2973},[2963,3677,3678],{"class":3013},"LazyMountainsList",[2963,3680,3681],{"class":3308}," v-if",[2963,3683,3312],{"class":2973},[2963,3685,3315],{"class":2973},[2963,3687,3688],{"class":3227},"show",[2963,3690,3315],{"class":2973},[2963,3692,3038],{"class":2973},[2963,3694,3695,3697],{"class":2965,"line":3462},[2963,3696,3032],{"class":2973},[2963,3698,3699],{"class":3013},"button\n",[2963,3701,3702,3705,3707,3709,3712],{"class":2965,"line":3482},[2963,3703,3704],{"class":3308},"      v-if",[2963,3706,3312],{"class":2973},[2963,3708,3315],{"class":2973},[2963,3710,3711],{"class":3227},"!show",[2963,3713,3714],{"class":2973},"\"\n",[2963,3716,3718,3721,3723,3725,3728],{"class":2965,"line":3717},11,[2963,3719,3720],{"class":3308},"      @click",[2963,3722,3312],{"class":2973},[2963,3724,3315],{"class":2973},[2963,3726,3727],{"class":3227},"show = true",[2963,3729,3714],{"class":2973},[2963,3731,3733],{"class":2965,"line":3732},12,[2963,3734,3735],{"class":2973},"    >\n",[2963,3737,3739],{"class":2965,"line":3738},13,[2963,3740,3741],{"class":3194},"      Показать список\n",[2963,3743,3745,3748,3751],{"class":2965,"line":3744},14,[2963,3746,3747],{"class":2973},"    \u003C/",[2963,3749,3750],{"class":3013},"button",[2963,3752,3017],{"class":2973},[2963,3754,3756,3758,3760],{"class":2965,"line":3755},15,[2963,3757,3064],{"class":2973},[2963,3759,3025],{"class":3013},[2963,3761,3017],{"class":2973},[2963,3763,3765,3767,3769],{"class":2965,"line":3764},16,[2963,3766,3074],{"class":2973},[2963,3768,3014],{"class":3013},[2963,3770,3017],{"class":2973},[3080,3772,3774],{"id":3773},"отложенная-ленивая-гидратация","Отложенная (ленивая) гидратация",[2948,3776,3777,3778,3780],{},"Префикс ",[2960,3779,3575],{}," у компонентов помогает контролировать размер чанков, но не всегда улучшает производительность в рантайме: код всё равно подгружается сразу, если компонент не скрыт условием. На страницах с большим количеством контента и компонентов далеко не всем нужна интерактивность сразу после загрузки; если всё грузить сразу, это бьёт по производительности.",[2948,3782,3783],{},"Чтобы оптимизировать приложение, можно отложить гидратацию части компонентов до появления в области просмотра или до завершения более приоритетных задач в браузере.",[2948,3785,3786],{},"Nuxt поддерживает ленивую (отложенную) гидратацию и позволяет задать момент, когда компонент становится интерактивным.",[3788,3789,3791],"h3",{"id":3790},"стратегии-гидратации","Стратегии гидратации",[2948,3793,3794],{},"Доступен набор встроенных стратегий. Для одного ленивого компонента можно использовать только одну стратегию.",[3147,3796,3797],{},[2948,3798,3799,3800,3803],{},"Любое изменение пропа у лениво гидратируемого компонента немедленно запускает гидратацию (например, смена пропа у компонента с ",[2960,3801,3802],{},"hydrate-never"," приведёт к его гидратации).",[3805,3806,3807],"warning",{},[2948,3808,3809,3810,3813,3814,3159],{},"Встроенная ленивая гидратация Nuxt работает только в однофайловых компонентах (SFC), проп нужно задать в шаблоне явно (нельзя разворачивать объект пропов через ",[2960,3811,3812],{},"v-bind","). Не работает с прямым импортом из ",[2960,3815,3331],{},[3817,3818,3820],"h4",{"id":3819},"hydrate-on-visible",[2960,3821,3819],{},[2948,3823,3824],{},"Гидратирует компонент, когда он попадает в область просмотра.",[2952,3826,3828],{"className":3296,"code":3827,"filename":3341,"language":3297,"meta":2958,"style":2958},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003CLazyMyComponent hydrate-on-visible />\n  \u003C/div>\n\u003C/template>\n",[2960,3829,3830,3838,3846,3858,3866],{"__ignoreMap":2958},[2963,3831,3832,3834,3836],{"class":2965,"line":2966},[2963,3833,3010],{"class":2973},[2963,3835,3014],{"class":3013},[2963,3837,3017],{"class":2973},[2963,3839,3840,3842,3844],{"class":2965,"line":2980},[2963,3841,3022],{"class":2973},[2963,3843,3025],{"class":3013},[2963,3845,3017],{"class":2973},[2963,3847,3848,3850,3853,3856],{"class":2965,"line":2991},[2963,3849,3032],{"class":2973},[2963,3851,3852],{"class":3013},"LazyMyComponent",[2963,3854,3855],{"class":3308}," hydrate-on-visible",[2963,3857,3038],{"class":2973},[2963,3859,3860,3862,3864],{"class":2965,"line":3041},[2963,3861,3064],{"class":2973},[2963,3863,3025],{"class":3013},[2963,3865,3017],{"class":2973},[2963,3867,3868,3870,3872],{"class":2965,"line":3051},[2963,3869,3074],{"class":2973},[2963,3871,3014],{"class":3013},[2963,3873,3017],{"class":2973},[3875,3876,3879],"read-more",{"to":3877,"title":3878},"https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserver/IntersectionObserver","Параметры IntersectionObserver",[2948,3880,3881,3882,3159],{},"Подробнее о настройках для ",[2960,3883,3819],{},[3147,3885,3886],{},[2948,3887,3888,3889,3159],{},"Под капотом используется встроенная в Vue стратегия ",[3890,3891,3895],"a",{"href":3892,"rel":3893},"https://vuejs.org/guide/components/async#hydrate-on-visible",[3894],"nofollow",[2960,3896,3897],{},"hydrateOnVisible",[3817,3899,3901],{"id":3900},"hydrate-on-idle",[2960,3902,3900],{},[2948,3904,3905],{},"Гидратирует компонент, когда браузер простаивает. Подходит, если компонент нужен поскорее, но не должен блокировать критический путь рендеринга.",[2948,3907,3908],{},"Можно передать число — максимальное время ожидания (мс).",[2952,3910,3912],{"className":3296,"code":3911,"filename":3341,"language":3297,"meta":2958,"style":2958},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003CLazyMyComponent hydrate-on-idle />\n  \u003C/div>\n\u003C/template>\n",[2960,3913,3914,3922,3930,3941,3949],{"__ignoreMap":2958},[2963,3915,3916,3918,3920],{"class":2965,"line":2966},[2963,3917,3010],{"class":2973},[2963,3919,3014],{"class":3013},[2963,3921,3017],{"class":2973},[2963,3923,3924,3926,3928],{"class":2965,"line":2980},[2963,3925,3022],{"class":2973},[2963,3927,3025],{"class":3013},[2963,3929,3017],{"class":2973},[2963,3931,3932,3934,3936,3939],{"class":2965,"line":2991},[2963,3933,3032],{"class":2973},[2963,3935,3852],{"class":3013},[2963,3937,3938],{"class":3308}," hydrate-on-idle",[2963,3940,3038],{"class":2973},[2963,3942,3943,3945,3947],{"class":2965,"line":3041},[2963,3944,3064],{"class":2973},[2963,3946,3025],{"class":3013},[2963,3948,3017],{"class":2973},[2963,3950,3951,3953,3955],{"class":2965,"line":3051},[2963,3952,3074],{"class":2973},[2963,3954,3014],{"class":3013},[2963,3956,3017],{"class":2973},[3147,3958,3959],{},[2948,3960,3888,3961,3159],{},[3890,3962,3965],{"href":3963,"rel":3964},"https://vuejs.org/guide/components/async#hydrate-on-idle",[3894],[2960,3966,3967],{},"hydrateOnIdle",[3817,3969,3971],{"id":3970},"hydrate-on-interaction",[2960,3972,3970],{},[2948,3974,3975],{},"Гидратирует компонент после заданного взаимодействия (например, клик, наведение мыши).",[2952,3977,3979],{"className":3296,"code":3978,"filename":3341,"language":3297,"meta":2958,"style":2958},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003CLazyMyComponent hydrate-on-interaction=\"mouseover\" />\n  \u003C/div>\n\u003C/template>\n",[2960,3980,3981,3989,3997,4017,4025],{"__ignoreMap":2958},[2963,3982,3983,3985,3987],{"class":2965,"line":2966},[2963,3984,3010],{"class":2973},[2963,3986,3014],{"class":3013},[2963,3988,3017],{"class":2973},[2963,3990,3991,3993,3995],{"class":2965,"line":2980},[2963,3992,3022],{"class":2973},[2963,3994,3025],{"class":3013},[2963,3996,3017],{"class":2973},[2963,3998,3999,4001,4003,4006,4008,4010,4013,4015],{"class":2965,"line":2991},[2963,4000,3032],{"class":2973},[2963,4002,3852],{"class":3013},[2963,4004,4005],{"class":3308}," hydrate-on-interaction",[2963,4007,3312],{"class":2973},[2963,4009,3315],{"class":2973},[2963,4011,4012],{"class":3227},"mouseover",[2963,4014,3315],{"class":2973},[2963,4016,3038],{"class":2973},[2963,4018,4019,4021,4023],{"class":2965,"line":3041},[2963,4020,3064],{"class":2973},[2963,4022,3025],{"class":3013},[2963,4024,3017],{"class":2973},[2963,4026,4027,4029,4031],{"class":2965,"line":3051},[2963,4028,3074],{"class":2973},[2963,4030,3014],{"class":3013},[2963,4032,3017],{"class":2973},[2948,4034,4035,4036,4039,4040,4043,4044,3159],{},"Если не передать событие или список событий, по умолчанию гидратация произойдёт на ",[2960,4037,4038],{},"pointerenter",", ",[2960,4041,4042],{},"click"," и ",[2960,4045,4046],{},"focus",[3147,4048,4049],{},[2948,4050,3888,4051,3159],{},[3890,4052,4055],{"href":4053,"rel":4054},"https://vuejs.org/guide/components/async#hydrate-on-interaction",[3894],[2960,4056,4057],{},"hydrateOnInteraction",[3817,4059,4061],{"id":4060},"hydrate-on-media-query",[2960,4062,4060],{},[2948,4064,4065],{},"Гидратирует компонент, когда окно соответствует медиазапросу.",[2952,4067,4069],{"className":3296,"code":4068,"filename":3341,"language":3297,"meta":2958,"style":2958},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003CLazyMyComponent hydrate-on-media-query=\"(max-width: 768px)\" />\n  \u003C/div>\n\u003C/template>\n",[2960,4070,4071,4079,4087,4107,4115],{"__ignoreMap":2958},[2963,4072,4073,4075,4077],{"class":2965,"line":2966},[2963,4074,3010],{"class":2973},[2963,4076,3014],{"class":3013},[2963,4078,3017],{"class":2973},[2963,4080,4081,4083,4085],{"class":2965,"line":2980},[2963,4082,3022],{"class":2973},[2963,4084,3025],{"class":3013},[2963,4086,3017],{"class":2973},[2963,4088,4089,4091,4093,4096,4098,4100,4103,4105],{"class":2965,"line":2991},[2963,4090,3032],{"class":2973},[2963,4092,3852],{"class":3013},[2963,4094,4095],{"class":3308}," hydrate-on-media-query",[2963,4097,3312],{"class":2973},[2963,4099,3315],{"class":2973},[2963,4101,4102],{"class":3227},"(max-width: 768px)",[2963,4104,3315],{"class":2973},[2963,4106,3038],{"class":2973},[2963,4108,4109,4111,4113],{"class":2965,"line":3041},[2963,4110,3064],{"class":2973},[2963,4112,3025],{"class":3013},[2963,4114,3017],{"class":2973},[2963,4116,4117,4119,4121],{"class":2965,"line":3051},[2963,4118,3074],{"class":2973},[2963,4120,3014],{"class":3013},[2963,4122,3017],{"class":2973},[3147,4124,4125],{},[2948,4126,3888,4127,3159],{},[3890,4128,4131],{"href":4129,"rel":4130},"https://vuejs.org/guide/components/async#hydrate-on-media-query",[3894],[2960,4132,4133],{},"hydrateOnMediaQuery",[3817,4135,4137],{"id":4136},"hydrate-after",[2960,4138,4136],{},[2948,4140,4141],{},"Гидратирует компонент после указанной задержки (в миллисекундах).",[2952,4143,4145],{"className":3296,"code":4144,"filename":3341,"language":3297,"meta":2958,"style":2958},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003CLazyMyComponent :hydrate-after=\"2000\" />\n  \u003C/div>\n\u003C/template>\n",[2960,4146,4147,4155,4163,4183,4191],{"__ignoreMap":2958},[2963,4148,4149,4151,4153],{"class":2965,"line":2966},[2963,4150,3010],{"class":2973},[2963,4152,3014],{"class":3013},[2963,4154,3017],{"class":2973},[2963,4156,4157,4159,4161],{"class":2965,"line":2980},[2963,4158,3022],{"class":2973},[2963,4160,3025],{"class":3013},[2963,4162,3017],{"class":2973},[2963,4164,4165,4167,4169,4172,4174,4176,4179,4181],{"class":2965,"line":2991},[2963,4166,3032],{"class":2973},[2963,4168,3852],{"class":3013},[2963,4170,4171],{"class":3308}," :hydrate-after",[2963,4173,3312],{"class":2973},[2963,4175,3315],{"class":2973},[2963,4177,4178],{"class":3227},"2000",[2963,4180,3315],{"class":2973},[2963,4182,3038],{"class":2973},[2963,4184,4185,4187,4189],{"class":2965,"line":3041},[2963,4186,3064],{"class":2973},[2963,4188,3025],{"class":3013},[2963,4190,3017],{"class":2973},[2963,4192,4193,4195,4197],{"class":2965,"line":3051},[2963,4194,3074],{"class":2973},[2963,4196,3014],{"class":3013},[2963,4198,3017],{"class":2973},[3817,4200,4202],{"id":4201},"hydrate-when",[2960,4203,4201],{},[2948,4205,4206],{},"Гидратирует компонент при истинном значении булева условия.",[2952,4208,4210],{"className":3296,"code":4209,"filename":3341,"language":3297,"meta":2958,"style":2958},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003CLazyMyComponent :hydrate-when=\"isReady\" />\n  \u003C/div>\n\u003C/template>\n\n\u003Cscript setup lang=\"ts\">\nconst isReady = ref(false)\nfunction myFunction () {\n  // запуск пользовательской стратегии гидратации…\n  isReady.value = true\n}\n\u003C/script>\n",[2960,4211,4212,4220,4228,4248,4256,4264,4268,4288,4305,4319,4325,4341,4346],{"__ignoreMap":2958},[2963,4213,4214,4216,4218],{"class":2965,"line":2966},[2963,4215,3010],{"class":2973},[2963,4217,3014],{"class":3013},[2963,4219,3017],{"class":2973},[2963,4221,4222,4224,4226],{"class":2965,"line":2980},[2963,4223,3022],{"class":2973},[2963,4225,3025],{"class":3013},[2963,4227,3017],{"class":2973},[2963,4229,4230,4232,4234,4237,4239,4241,4244,4246],{"class":2965,"line":2991},[2963,4231,3032],{"class":2973},[2963,4233,3852],{"class":3013},[2963,4235,4236],{"class":3308}," :hydrate-when",[2963,4238,3312],{"class":2973},[2963,4240,3315],{"class":2973},[2963,4242,4243],{"class":3227},"isReady",[2963,4245,3315],{"class":2973},[2963,4247,3038],{"class":2973},[2963,4249,4250,4252,4254],{"class":2965,"line":3041},[2963,4251,3064],{"class":2973},[2963,4253,3025],{"class":3013},[2963,4255,3017],{"class":2973},[2963,4257,4258,4260,4262],{"class":2965,"line":3051},[2963,4259,3074],{"class":2973},[2963,4261,3014],{"class":3013},[2963,4263,3017],{"class":2973},[2963,4265,4266],{"class":2965,"line":3061},[2963,4267,3395],{"emptyLinePlaceholder":1215},[2963,4269,4270,4272,4274,4276,4278,4280,4282,4284,4286],{"class":2965,"line":3071},[2963,4271,3010],{"class":2973},[2963,4273,3350],{"class":3013},[2963,4275,3353],{"class":3308},[2963,4277,3356],{"class":3308},[2963,4279,3312],{"class":2973},[2963,4281,3315],{"class":2973},[2963,4283,3175],{"class":3227},[2963,4285,3315],{"class":2973},[2963,4287,3017],{"class":2973},[2963,4289,4290,4292,4295,4297,4299,4301,4303],{"class":2965,"line":3266},[2963,4291,3400],{"class":3308},[2963,4293,4294],{"class":3194}," isReady ",[2963,4296,3312],{"class":2973},[2963,4298,3619],{"class":3190},[2963,4300,3195],{"class":3194},[2963,4302,3169],{"class":3247},[2963,4304,3272],{"class":3194},[2963,4306,4307,4310,4313,4316],{"class":2965,"line":3462},[2963,4308,4309],{"class":3308},"function",[2963,4311,4312],{"class":3190}," myFunction",[2963,4314,4315],{"class":2973}," ()",[2963,4317,4318],{"class":2973}," {\n",[2963,4320,4321],{"class":2965,"line":3482},[2963,4322,4324],{"class":4323},"sWuyu","  // запуск пользовательской стратегии гидратации…\n",[2963,4326,4327,4330,4332,4335,4338],{"class":2965,"line":3717},[2963,4328,4329],{"class":3194},"  isReady",[2963,4331,3159],{"class":2973},[2963,4333,4334],{"class":3194},"value",[2963,4336,4337],{"class":2973}," =",[2963,4339,4340],{"class":3247}," true\n",[2963,4342,4343],{"class":2965,"line":3732},[2963,4344,4345],{"class":2973},"}\n",[2963,4347,4348,4350,4352],{"class":2965,"line":3738},[2963,4349,3074],{"class":2973},[2963,4351,3350],{"class":3013},[2963,4353,3017],{"class":2973},[3817,4355,4356],{"id":3802},[2960,4357,3802],{},[2948,4359,4360],{},"Компонент никогда не гидратируется.",[2952,4362,4364],{"className":3296,"code":4363,"filename":3341,"language":3297,"meta":2958,"style":2958},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003CLazyMyComponent hydrate-never />\n  \u003C/div>\n\u003C/template>\n",[2960,4365,4366,4374,4382,4393,4401],{"__ignoreMap":2958},[2963,4367,4368,4370,4372],{"class":2965,"line":2966},[2963,4369,3010],{"class":2973},[2963,4371,3014],{"class":3013},[2963,4373,3017],{"class":2973},[2963,4375,4376,4378,4380],{"class":2965,"line":2980},[2963,4377,3022],{"class":2973},[2963,4379,3025],{"class":3013},[2963,4381,3017],{"class":2973},[2963,4383,4384,4386,4388,4391],{"class":2965,"line":2991},[2963,4385,3032],{"class":2973},[2963,4387,3852],{"class":3013},[2963,4389,4390],{"class":3308}," hydrate-never",[2963,4392,3038],{"class":2973},[2963,4394,4395,4397,4399],{"class":2965,"line":3041},[2963,4396,3064],{"class":2973},[2963,4398,3025],{"class":3013},[2963,4400,3017],{"class":2973},[2963,4402,4403,4405,4407],{"class":2965,"line":3051},[2963,4404,3074],{"class":2973},[2963,4406,3014],{"class":3013},[2963,4408,3017],{"class":2973},[3788,4410,4412],{"id":4411},"события-гидратации","События гидратации",[2948,4414,4415,4416,4419],{},"Компоненты с отложенной гидратацией испускают событие ",[2960,4417,4418],{},"@hydrated",", когда гидратация завершена.",[2952,4421,4423],{"className":3296,"code":4422,"filename":3341,"language":3297,"meta":2958,"style":2958},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003CLazyMyComponent\n      hydrate-on-visible\n      @hydrated=\"onHydrate\"\n    />\n  \u003C/div>\n\u003C/template>\n\n\u003Cscript setup lang=\"ts\">\nfunction onHydrate () {\n  console.log('Компонент гидратирован')\n}\n\u003C/script>\n",[2960,4424,4425,4433,4441,4448,4453,4467,4472,4480,4488,4492,4512,4523,4544,4548],{"__ignoreMap":2958},[2963,4426,4427,4429,4431],{"class":2965,"line":2966},[2963,4428,3010],{"class":2973},[2963,4430,3014],{"class":3013},[2963,4432,3017],{"class":2973},[2963,4434,4435,4437,4439],{"class":2965,"line":2980},[2963,4436,3022],{"class":2973},[2963,4438,3025],{"class":3013},[2963,4440,3017],{"class":2973},[2963,4442,4443,4445],{"class":2965,"line":2991},[2963,4444,3032],{"class":2973},[2963,4446,4447],{"class":3013},"LazyMyComponent\n",[2963,4449,4450],{"class":2965,"line":3041},[2963,4451,4452],{"class":3308},"      hydrate-on-visible\n",[2963,4454,4455,4458,4460,4462,4465],{"class":2965,"line":3051},[2963,4456,4457],{"class":3308},"      @hydrated",[2963,4459,3312],{"class":2973},[2963,4461,3315],{"class":2973},[2963,4463,4464],{"class":3227},"onHydrate",[2963,4466,3714],{"class":2973},[2963,4468,4469],{"class":2965,"line":3061},[2963,4470,4471],{"class":2973},"    />\n",[2963,4473,4474,4476,4478],{"class":2965,"line":3071},[2963,4475,3064],{"class":2973},[2963,4477,3025],{"class":3013},[2963,4479,3017],{"class":2973},[2963,4481,4482,4484,4486],{"class":2965,"line":3266},[2963,4483,3074],{"class":2973},[2963,4485,3014],{"class":3013},[2963,4487,3017],{"class":2973},[2963,4489,4490],{"class":2965,"line":3462},[2963,4491,3395],{"emptyLinePlaceholder":1215},[2963,4493,4494,4496,4498,4500,4502,4504,4506,4508,4510],{"class":2965,"line":3482},[2963,4495,3010],{"class":2973},[2963,4497,3350],{"class":3013},[2963,4499,3353],{"class":3308},[2963,4501,3356],{"class":3308},[2963,4503,3312],{"class":2973},[2963,4505,3315],{"class":2973},[2963,4507,3175],{"class":3227},[2963,4509,3315],{"class":2973},[2963,4511,3017],{"class":2973},[2963,4513,4514,4516,4519,4521],{"class":2965,"line":3717},[2963,4515,4309],{"class":3308},[2963,4517,4518],{"class":3190}," onHydrate",[2963,4520,4315],{"class":2973},[2963,4522,4318],{"class":2973},[2963,4524,4525,4528,4530,4533,4535,4537,4540,4542],{"class":2965,"line":3732},[2963,4526,4527],{"class":3194},"  console",[2963,4529,3159],{"class":2973},[2963,4531,4532],{"class":3190},"log",[2963,4534,3195],{"class":3013},[2963,4536,3231],{"class":2973},[2963,4538,4539],{"class":3227},"Компонент гидратирован",[2963,4541,3231],{"class":2973},[2963,4543,3272],{"class":3013},[2963,4545,4546],{"class":2965,"line":3738},[2963,4547,4345],{"class":2973},[2963,4549,4550,4552,4554],{"class":2965,"line":3744},[2963,4551,3074],{"class":2973},[2963,4553,3350],{"class":3013},[2963,4555,3017],{"class":2973},[3788,4557,4559],{"id":4558},"ограничения-и-рекомендации","Ограничения и рекомендации",[2948,4561,4562],{},"Отложенная гидратация может ускорить работу сайта, но важно применять её осмысленно:",[4564,4565,4566,4574,4584,4594,4618],"ol",{},[4567,4568,4569,4573],"li",{},[4570,4571,4572],"strong",{},"Контент в зоне видимости:"," не откладывайте гидратацию критичного контента «над сгибом»; стратегия лучше подходит для того, что не нужно сразу.",[4567,4575,4576,4579,4580,4583],{},[4570,4577,4578],{},"Условный рендеринг:"," если у ленивого компонента стоит ",[2960,4581,4582],{},"v-if=\"false\"",", отдельная отложенная гидратация часто не нужна — достаточно обычного ленивого компонента.",[4567,4585,4586,4589,4590,4593],{},[4570,4587,4588],{},"Общее состояние:"," учитывайте общий ",[2960,4591,4592],{},"v-model"," между компонентами — обновление модели в одном может запустить гидратацию во всех связанных.",[4567,4595,4596,4599,4600],{},[4570,4597,4598],{},"Назначение стратегий:"," у каждой своя ниша:",[4601,4602,4603,4608,4613],"ul",{},[4567,4604,4605,4607],{},[2960,4606,4201],{}," — когда компонент не всегда должен гидратироваться;",[4567,4609,4610,4612],{},[2960,4611,4136],{}," — когда можно подождать фиксированное время;",[4567,4614,4615,4617],{},[2960,4616,3900],{}," — когда можно дождаться простоя браузера.",[4567,4619,4620,4625,4626,3159],{},[4570,4621,4622,4623,3206],{},"Интерактивность и ",[2960,4624,3802],{}," для компонентов, с которыми пользователь должен взаимодействовать, не используйте ",[2960,4627,3802],{},[3080,4629,4631],{"id":4630},"прямые-импорты","Прямые импорты",[2948,4633,4634,4635,4637],{},"Вы также можете явно импортировать компоненты из ",[2960,4636,3331],{},", если хотите, или если вам необходимо обойти функцию автоматического импорта Nuxt.",[2952,4639,4641],{"className":3296,"code":4640,"filename":3341,"language":3297,"meta":2958,"style":2958},"\u003Cscript setup lang=\"ts\">\nimport { LazyMountainsList, NuxtLink } from '#components'\n\nconst show = ref(false)\n\u003C/script>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Ch1>Горы\u003C/h1>\n    \u003CLazyMountainsList v-if=\"show\" />\n    \u003Cbutton\n      v-if=\"!show\"\n      @click=\"show = true\"\n    >\n      Показать список\n    \u003C/button>\n    \u003CNuxtLink to=\"/\">Главная\u003C/NuxtLink>\n  \u003C/div>\n\u003C/template>\n",[2960,4642,4643,4663,4687,4691,4707,4715,4719,4727,4735,4751,4769,4775,4787,4799,4803,4807,4815,4846,4855],{"__ignoreMap":2958},[2963,4644,4645,4647,4649,4651,4653,4655,4657,4659,4661],{"class":2965,"line":2966},[2963,4646,3010],{"class":2973},[2963,4648,3350],{"class":3013},[2963,4650,3353],{"class":3308},[2963,4652,3356],{"class":3308},[2963,4654,3312],{"class":2973},[2963,4656,3315],{"class":2973},[2963,4658,3175],{"class":3227},[2963,4660,3315],{"class":2973},[2963,4662,3017],{"class":2973},[2963,4664,4665,4667,4669,4672,4674,4677,4679,4681,4683,4685],{"class":2965,"line":2980},[2963,4666,3371],{"class":3183},[2963,4668,3374],{"class":2973},[2963,4670,4671],{"class":3194}," LazyMountainsList",[2963,4673,3251],{"class":2973},[2963,4675,4676],{"class":3194}," NuxtLink",[2963,4678,3380],{"class":2973},[2963,4680,3383],{"class":3183},[2963,4682,3224],{"class":2973},[2963,4684,3331],{"class":3227},[2963,4686,3390],{"class":2973},[2963,4688,4689],{"class":2965,"line":2991},[2963,4690,3395],{"emptyLinePlaceholder":1215},[2963,4692,4693,4695,4697,4699,4701,4703,4705],{"class":2965,"line":3041},[2963,4694,3400],{"class":3308},[2963,4696,3614],{"class":3194},[2963,4698,3312],{"class":2973},[2963,4700,3619],{"class":3190},[2963,4702,3195],{"class":3194},[2963,4704,3169],{"class":3247},[2963,4706,3272],{"class":3194},[2963,4708,4709,4711,4713],{"class":2965,"line":3051},[2963,4710,3074],{"class":2973},[2963,4712,3350],{"class":3013},[2963,4714,3017],{"class":2973},[2963,4716,4717],{"class":2965,"line":3061},[2963,4718,3395],{"emptyLinePlaceholder":1215},[2963,4720,4721,4723,4725],{"class":2965,"line":3071},[2963,4722,3010],{"class":2973},[2963,4724,3014],{"class":3013},[2963,4726,3017],{"class":2973},[2963,4728,4729,4731,4733],{"class":2965,"line":3266},[2963,4730,3022],{"class":2973},[2963,4732,3025],{"class":3013},[2963,4734,3017],{"class":2973},[2963,4736,4737,4739,4741,4743,4745,4747,4749],{"class":2965,"line":3462},[2963,4738,3032],{"class":2973},[2963,4740,3660],{"class":3013},[2963,4742,3323],{"class":2973},[2963,4744,3665],{"class":3194},[2963,4746,3074],{"class":2973},[2963,4748,3660],{"class":3013},[2963,4750,3017],{"class":2973},[2963,4752,4753,4755,4757,4759,4761,4763,4765,4767],{"class":2965,"line":3482},[2963,4754,3032],{"class":2973},[2963,4756,3678],{"class":3013},[2963,4758,3681],{"class":3308},[2963,4760,3312],{"class":2973},[2963,4762,3315],{"class":2973},[2963,4764,3688],{"class":3227},[2963,4766,3315],{"class":2973},[2963,4768,3038],{"class":2973},[2963,4770,4771,4773],{"class":2965,"line":3717},[2963,4772,3032],{"class":2973},[2963,4774,3699],{"class":3013},[2963,4776,4777,4779,4781,4783,4785],{"class":2965,"line":3732},[2963,4778,3704],{"class":3308},[2963,4780,3312],{"class":2973},[2963,4782,3315],{"class":2973},[2963,4784,3711],{"class":3227},[2963,4786,3714],{"class":2973},[2963,4788,4789,4791,4793,4795,4797],{"class":2965,"line":3738},[2963,4790,3720],{"class":3308},[2963,4792,3312],{"class":2973},[2963,4794,3315],{"class":2973},[2963,4796,3727],{"class":3227},[2963,4798,3714],{"class":2973},[2963,4800,4801],{"class":2965,"line":3744},[2963,4802,3735],{"class":2973},[2963,4804,4805],{"class":2965,"line":3755},[2963,4806,3741],{"class":3194},[2963,4808,4809,4811,4813],{"class":2965,"line":3764},[2963,4810,3747],{"class":2973},[2963,4812,3750],{"class":3013},[2963,4814,3017],{"class":2973},[2963,4816,4818,4820,4823,4826,4828,4830,4833,4835,4837,4840,4842,4844],{"class":2965,"line":4817},17,[2963,4819,3032],{"class":2973},[2963,4821,4822],{"class":3013},"NuxtLink",[2963,4824,4825],{"class":3308}," to",[2963,4827,3312],{"class":2973},[2963,4829,3315],{"class":2973},[2963,4831,4832],{"class":3227},"/",[2963,4834,3315],{"class":2973},[2963,4836,3323],{"class":2973},[2963,4838,4839],{"class":3194},"Главная",[2963,4841,3074],{"class":2973},[2963,4843,4822],{"class":3013},[2963,4845,3017],{"class":2973},[2963,4847,4849,4851,4853],{"class":2965,"line":4848},18,[2963,4850,3064],{"class":2973},[2963,4852,3025],{"class":3013},[2963,4854,3017],{"class":2973},[2963,4856,4858,4860,4862],{"class":2965,"line":4857},19,[2963,4859,3074],{"class":2973},[2963,4861,3014],{"class":3013},[2963,4863,3017],{"class":2973},[3080,4865,4867],{"id":4866},"пользовательские-директории","Пользовательские директории",[2948,4869,4870,4871,4873],{},"По умолчанию сканируется только директория ",[2960,4872,3228],{},". Если вы хотите добавить другие директории или изменить способ сканирования компонентов в поддиректориях этой директории, вы можете добавить дополнительные директории в конфигурацию:",[2952,4875,4878],{"className":4876,"code":4877,"filename":222,"language":3175,"meta":3176,"style":2958},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","export default defineNuxtConfig({\n  components: [\n    // ~/calendar-module/components/event/Update.vue => \u003CEventUpdate />\n    { path: '~/calendar-module/components' },\n\n    // ~/user-module/components/account/UserDeleteDialog.vue => \u003CUserDeleteDialog />\n    { path: '~/user-module/components', pathPrefix: false },\n\n    // ~/components/special-components/Btn.vue => \u003CSpecialBtn />\n    { path: '~/components/special-components', prefix: 'Special' },\n\n    // Важно: переопределения для подпапок `~/components` указывайте последними.\n    //\n    // ~/components/Btn.vue => \u003CBtn />\n    // ~/components/base/Btn.vue => \u003CBaseBtn />\n    '~/components',\n  ],\n})\n",[2960,4879,4880,4892,4900,4905,4925,4929,4934,4960,4964,4969,5000,5004,5009,5014,5019,5024,5035,5041],{"__ignoreMap":2958},[2963,4881,4882,4884,4886,4888,4890],{"class":2965,"line":2966},[2963,4883,3184],{"class":3183},[2963,4885,3187],{"class":3183},[2963,4887,3191],{"class":3190},[2963,4889,3195],{"class":3194},[2963,4891,3198],{"class":2973},[2963,4893,4894,4896,4898],{"class":2965,"line":2980},[2963,4895,3203],{"class":3013},[2963,4897,3206],{"class":2973},[2963,4899,3209],{"class":3194},[2963,4901,4902],{"class":2965,"line":2991},[2963,4903,4904],{"class":4323},"    // ~/calendar-module/components/event/Update.vue => \u003CEventUpdate />\n",[2963,4906,4907,4910,4913,4915,4917,4920,4922],{"class":2965,"line":3041},[2963,4908,4909],{"class":2973},"    {",[2963,4911,4912],{"class":3013}," path",[2963,4914,3206],{"class":2973},[2963,4916,3224],{"class":2973},[2963,4918,4919],{"class":3227},"~/calendar-module/components",[2963,4921,3231],{"class":2973},[2963,4923,4924],{"class":2973}," },\n",[2963,4926,4927],{"class":2965,"line":3051},[2963,4928,3395],{"emptyLinePlaceholder":1215},[2963,4930,4931],{"class":2965,"line":3061},[2963,4932,4933],{"class":4323},"    // ~/user-module/components/account/UserDeleteDialog.vue => \u003CUserDeleteDialog />\n",[2963,4935,4936,4938,4940,4942,4944,4947,4949,4951,4954,4956,4958],{"class":2965,"line":3071},[2963,4937,4909],{"class":2973},[2963,4939,4912],{"class":3013},[2963,4941,3206],{"class":2973},[2963,4943,3224],{"class":2973},[2963,4945,4946],{"class":3227},"~/user-module/components",[2963,4948,3231],{"class":2973},[2963,4950,3251],{"class":2973},[2963,4952,4953],{"class":3013}," pathPrefix",[2963,4955,3206],{"class":2973},[2963,4957,3248],{"class":3247},[2963,4959,4924],{"class":2973},[2963,4961,4962],{"class":2965,"line":3266},[2963,4963,3395],{"emptyLinePlaceholder":1215},[2963,4965,4966],{"class":2965,"line":3462},[2963,4967,4968],{"class":4323},"    // ~/components/special-components/Btn.vue => \u003CSpecialBtn />\n",[2963,4970,4971,4973,4975,4977,4979,4982,4984,4986,4989,4991,4993,4996,4998],{"class":2965,"line":3482},[2963,4972,4909],{"class":2973},[2963,4974,4912],{"class":3013},[2963,4976,3206],{"class":2973},[2963,4978,3224],{"class":2973},[2963,4980,4981],{"class":3227},"~/components/special-components",[2963,4983,3231],{"class":2973},[2963,4985,3251],{"class":2973},[2963,4987,4988],{"class":3013}," prefix",[2963,4990,3206],{"class":2973},[2963,4992,3224],{"class":2973},[2963,4994,4995],{"class":3227},"Special",[2963,4997,3231],{"class":2973},[2963,4999,4924],{"class":2973},[2963,5001,5002],{"class":2965,"line":3717},[2963,5003,3395],{"emptyLinePlaceholder":1215},[2963,5005,5006],{"class":2965,"line":3732},[2963,5007,5008],{"class":4323},"    // Важно: переопределения для подпапок `~/components` указывайте последними.\n",[2963,5010,5011],{"class":2965,"line":3738},[2963,5012,5013],{"class":4323},"    //\n",[2963,5015,5016],{"class":2965,"line":3744},[2963,5017,5018],{"class":4323},"    // ~/components/Btn.vue => \u003CBtn />\n",[2963,5020,5021],{"class":2965,"line":3755},[2963,5022,5023],{"class":4323},"    // ~/components/base/Btn.vue => \u003CBaseBtn />\n",[2963,5025,5026,5029,5031,5033],{"class":2965,"line":3764},[2963,5027,5028],{"class":2973},"    '",[2963,5030,3228],{"class":3227},[2963,5032,3231],{"class":2973},[2963,5034,3234],{"class":2973},[2963,5036,5037,5039],{"class":2965,"line":4817},[2963,5038,3261],{"class":3194},[2963,5040,3234],{"class":2973},[2963,5042,5043,5045],{"class":2965,"line":4848},[2963,5044,3269],{"class":2973},[2963,5046,3272],{"class":3194},[3147,5048,5049],{},[2948,5050,5051],{},"Любые вложенные директории должны быть добавлены первыми, так как они сканируются по порядку.",[3080,5053,5055],{"id":5054},"пакеты-npm","Пакеты npm",[2948,5057,5058,5059,3155,5065,5068],{},"Если вы хотите автоматически импортировать компоненты из пакета npm, вы можете использовать ",[3890,5060,5062],{"href":5061},"/docs/3.x/api/kit/components#addcomponent",[2960,5063,5064],{},"addComponent",[3890,5066,5067],{"href":159},"локальном модуле"," для их регистрации.",[5070,5071,5072,5208],"code-group",{},[2952,5073,5076],{"className":4876,"code":5074,"filename":5075,"language":3175,"meta":3176,"style":2958},"import { addComponent, defineNuxtModule } from '@nuxt/kit'\n\nexport default defineNuxtModule({\n  setup () {\n    // import { MyComponent as MyAutoImportedComponent } from 'my-npm-package'\n    addComponent({\n      name: 'MyAutoImportedComponent',\n      export: 'MyComponent',\n      filePath: 'my-npm-package',\n    })\n  },\n})\n","~/modules/register-component.ts",[2960,5077,5078,5103,5107,5119,5128,5133,5142,5158,5174,5190,5197,5202],{"__ignoreMap":2958},[2963,5079,5080,5082,5084,5087,5089,5092,5094,5096,5098,5101],{"class":2965,"line":2966},[2963,5081,3371],{"class":3183},[2963,5083,3374],{"class":2973},[2963,5085,5086],{"class":3194}," addComponent",[2963,5088,3251],{"class":2973},[2963,5090,5091],{"class":3194}," defineNuxtModule",[2963,5093,3380],{"class":2973},[2963,5095,3383],{"class":3183},[2963,5097,3224],{"class":2973},[2963,5099,5100],{"class":3227},"@nuxt/kit",[2963,5102,3390],{"class":2973},[2963,5104,5105],{"class":2965,"line":2980},[2963,5106,3395],{"emptyLinePlaceholder":1215},[2963,5108,5109,5111,5113,5115,5117],{"class":2965,"line":2991},[2963,5110,3184],{"class":3183},[2963,5112,3187],{"class":3183},[2963,5114,5091],{"class":3190},[2963,5116,3195],{"class":3194},[2963,5118,3198],{"class":2973},[2963,5120,5121,5124,5126],{"class":2965,"line":3041},[2963,5122,5123],{"class":3013},"  setup",[2963,5125,4315],{"class":2973},[2963,5127,4318],{"class":2973},[2963,5129,5130],{"class":2965,"line":3051},[2963,5131,5132],{"class":4323},"    // import { MyComponent as MyAutoImportedComponent } from 'my-npm-package'\n",[2963,5134,5135,5138,5140],{"class":2965,"line":3061},[2963,5136,5137],{"class":3190},"    addComponent",[2963,5139,3195],{"class":3013},[2963,5141,3198],{"class":2973},[2963,5143,5144,5147,5149,5151,5154,5156],{"class":2965,"line":3071},[2963,5145,5146],{"class":3013},"      name",[2963,5148,3206],{"class":2973},[2963,5150,3224],{"class":2973},[2963,5152,5153],{"class":3227},"MyAutoImportedComponent",[2963,5155,3231],{"class":2973},[2963,5157,3234],{"class":2973},[2963,5159,5160,5163,5165,5167,5170,5172],{"class":2965,"line":3266},[2963,5161,5162],{"class":3013},"      export",[2963,5164,3206],{"class":2973},[2963,5166,3224],{"class":2973},[2963,5168,5169],{"class":3227},"MyComponent",[2963,5171,3231],{"class":2973},[2963,5173,3234],{"class":2973},[2963,5175,5176,5179,5181,5183,5186,5188],{"class":2965,"line":3462},[2963,5177,5178],{"class":3013},"      filePath",[2963,5180,3206],{"class":2973},[2963,5182,3224],{"class":2973},[2963,5184,5185],{"class":3227},"my-npm-package",[2963,5187,3231],{"class":2973},[2963,5189,3234],{"class":2973},[2963,5191,5192,5195],{"class":2965,"line":3482},[2963,5193,5194],{"class":2973},"    }",[2963,5196,3272],{"class":3013},[2963,5198,5199],{"class":2965,"line":3717},[2963,5200,5201],{"class":2973},"  },\n",[2963,5203,5204,5206],{"class":2965,"line":3732},[2963,5205,3269],{"class":2973},[2963,5207,3272],{"class":3194},[2952,5209,5211],{"className":3296,"code":5210,"filename":210,"language":3297,"meta":2958,"style":2958},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003C!--  компонент использует указанное нами имя и импортируется автоматически  -->\n    \u003CMyAutoImportedComponent />\n  \u003C/div>\n\u003C/template>\n",[2960,5212,5213,5221,5229,5234,5242,5250],{"__ignoreMap":2958},[2963,5214,5215,5217,5219],{"class":2965,"line":2966},[2963,5216,3010],{"class":2973},[2963,5218,3014],{"class":3013},[2963,5220,3017],{"class":2973},[2963,5222,5223,5225,5227],{"class":2965,"line":2980},[2963,5224,3022],{"class":2973},[2963,5226,3025],{"class":3013},[2963,5228,3017],{"class":2973},[2963,5230,5231],{"class":2965,"line":2991},[2963,5232,5233],{"class":4323},"    \u003C!--  компонент использует указанное нами имя и импортируется автоматически  -->\n",[2963,5235,5236,5238,5240],{"class":2965,"line":3041},[2963,5237,3032],{"class":2973},[2963,5239,5153],{"class":3013},[2963,5241,3038],{"class":2973},[2963,5243,5244,5246,5248],{"class":2965,"line":3051},[2963,5245,3064],{"class":2973},[2963,5247,3025],{"class":3013},[2963,5249,3017],{"class":2973},[2963,5251,5252,5254,5256],{"class":2965,"line":3061},[2963,5253,3074],{"class":2973},[2963,5255,3014],{"class":3013},[2963,5257,3017],{"class":2973},[3080,5259,5261],{"id":5260},"расширения-компонентов","Расширения компонентов",[2948,5263,5264,5265,5275,5276,3206],{},"По умолчанию, любой файл с расширением, указанным в ",[3890,5266,5268,5269,5272,5273],{"href":5267},"/docs/3.x/api/nuxt-config#extensions","ключе ",[2960,5270,5271],{},"extensions"," ",[2960,5274,222],{},", рассматривается как компонент.\nЕсли вам нужно ограничить расширения файлов, которые должны быть зарегистрированы как компоненты, вы можете использовать расширенную форму объявления директории компонентов и его ключ ",[2960,5277,5271],{},[2952,5279,5281],{"className":3173,"code":5280,"filename":222,"language":3175,"meta":3176,"style":2958},"export default defineNuxtConfig({\n  components: [\n    {\n      path: '~/components',\n      extensions: ['.vue'], // [!code ++]\n    },\n  ],\n})\n",[2960,5282,5283,5295,5303,5307,5321,5344,5348,5354],{"__ignoreMap":2958},[2963,5284,5285,5287,5289,5291,5293],{"class":2965,"line":2966},[2963,5286,3184],{"class":3183},[2963,5288,3187],{"class":3183},[2963,5290,3191],{"class":3190},[2963,5292,3195],{"class":3194},[2963,5294,3198],{"class":2973},[2963,5296,5297,5299,5301],{"class":2965,"line":2980},[2963,5298,3203],{"class":3013},[2963,5300,3206],{"class":2973},[2963,5302,3209],{"class":3194},[2963,5304,5305],{"class":2965,"line":2991},[2963,5306,3214],{"class":2973},[2963,5308,5309,5311,5313,5315,5317,5319],{"class":2965,"line":3041},[2963,5310,3219],{"class":3013},[2963,5312,3206],{"class":2973},[2963,5314,3224],{"class":2973},[2963,5316,3228],{"class":3227},[2963,5318,3231],{"class":2973},[2963,5320,3234],{"class":2973},[2963,5322,5324,5327,5329,5332,5334,5337,5339,5342],{"class":5323,"line":3051},[2965,3238,3239],[2963,5325,5326],{"class":3013},"      extensions",[2963,5328,3206],{"class":2973},[2963,5330,5331],{"class":3194}," [",[2963,5333,3231],{"class":2973},[2963,5335,5336],{"class":3227},".vue",[2963,5338,3231],{"class":2973},[2963,5340,5341],{"class":3194},"]",[2963,5343,3251],{"class":2973},[2963,5345,5346],{"class":2965,"line":3061},[2963,5347,3256],{"class":2973},[2963,5349,5350,5352],{"class":2965,"line":3071},[2963,5351,3261],{"class":3194},[2963,5353,3234],{"class":2973},[2963,5355,5356,5358],{"class":2965,"line":3266},[2963,5357,3269],{"class":2973},[2963,5359,3272],{"class":3194},[3080,5361,5363],{"id":5362},"клиентские-компоненты","Клиентские компоненты",[2948,5365,5366,5367,5370],{},"Если компонент предназначен для рендера только на стороне клиента, вы можете добавить суффикс ",[2960,5368,5369],{},".client"," к своему компоненту.",[2952,5372,5374],{"className":2954,"code":5373,"filename":2956,"language":2957,"meta":2958,"style":2958},"| components/\n--| Comments.client.vue\n",[2960,5375,5376,5382],{"__ignoreMap":2958},[2963,5377,5378,5380],{"class":2965,"line":2966},[2963,5379,2974],{"class":2973},[2963,5381,2977],{"class":2969},[2963,5383,5384,5387,5389],{"class":2965,"line":2980},[2963,5385,5386],{"class":2969},"--",[2963,5388,2974],{"class":2973},[2963,5390,5391],{"class":2969}," Comments.client.vue\n",[2952,5393,5396],{"className":3296,"code":5394,"filename":5395,"language":3297,"meta":2958,"style":2958},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003C!-- этот компонент будет отображаться только на стороне клиента -->\n    \u003CComments />\n  \u003C/div>\n\u003C/template>\n","pages/example.vue",[2960,5397,5398,5406,5414,5419,5428,5436],{"__ignoreMap":2958},[2963,5399,5400,5402,5404],{"class":2965,"line":2966},[2963,5401,3010],{"class":2973},[2963,5403,3014],{"class":3013},[2963,5405,3017],{"class":2973},[2963,5407,5408,5410,5412],{"class":2965,"line":2980},[2963,5409,3022],{"class":2973},[2963,5411,3025],{"class":3013},[2963,5413,3017],{"class":2973},[2963,5415,5416],{"class":2965,"line":2991},[2963,5417,5418],{"class":4323},"    \u003C!-- этот компонент будет отображаться только на стороне клиента -->\n",[2963,5420,5421,5423,5426],{"class":2965,"line":3041},[2963,5422,3032],{"class":2973},[2963,5424,5425],{"class":3013},"Comments",[2963,5427,3038],{"class":2973},[2963,5429,5430,5432,5434],{"class":2965,"line":3051},[2963,5431,3064],{"class":2973},[2963,5433,3025],{"class":3013},[2963,5435,3017],{"class":2973},[2963,5437,5438,5440,5442],{"class":2965,"line":3061},[2963,5439,3074],{"class":2973},[2963,5441,3014],{"class":3013},[2963,5443,3017],{"class":2973},[3147,5445,5446],{},[2948,5447,5448,5449,5451],{},"Эта функция работает только с автоимпортами Nuxt и импортами ",[2960,5450,3331],{},". Явный импорт таких компонентов по их реальному пути не преобразует их в клиентские компоненты.",[3490,5453,5454],{},[2948,5455,5456,5457,5459,5460,5463,5464,5467,5468,3159],{},"Компоненты ",[2960,5458,5369],{}," рендерятся только после монтирования. Чтобы получить доступ к отрисованному шаблону с помощью ",[2960,5461,5462],{},"onMounted()",", добавьте ",[2960,5465,5466],{},"await nextTick()"," в коллбэк хука ",[2960,5469,5462],{},[3875,5471,5472],{"to":440},[2948,5473,5474,5475,3159],{},"Аналогичного результата можно добиться и с помощью компонента ",[2960,5476,439],{},[3080,5478,5480],{"id":5479},"серверные-компоненты","Серверные компоненты",[2948,5482,5483],{},"Серверные компоненты позволяют серверный рендеринг отдельных компонентов в клиентских приложениях. Серверные компоненты можно использовать в Nuxt, даже если вы создаете статический сайт. Это позволяет создавать сложные сайты, которые смешивают динамические компоненты, HTML, рендеринг которого осуществляется сервером, и даже статические фрагменты разметки.",[2948,5485,5486,5487,3159],{},"Серверные компоненты могут использоваться как по отдельности, так и в паре с ",[3890,5488,5490],{"href":5489},"#%D0%B2-%D0%BF%D0%B0%D1%80%D0%B5-%D1%81-%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%D1%81%D0%BA%D0%B8%D0%BC-%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%BE%D0%BC","клиентским компонентом",[3499,5492],{"title":5493,"video-id":5494},"Видео о серверных компонентах Nuxt (канал LearnVue)","u1yyXe86xJM",[5496,5497,5501],"tip",{"icon":5498,"target":5499,"to":5500},"i-lucide-newspaper","_blank","https://roe.dev/blog/nuxt-server-components",[2948,5502,5503],{},"Прочитайте руководство Дэниела Ро по серверным компонентам Nuxt.",[3788,5505,5507],{"id":5506},"автономные-серверные-компоненты","Автономные серверные компоненты",[2948,5509,5510],{},"Отдельные серверные компоненты, которые всегда будут отображаться на сервере, также известны как island-компоненты.",[2948,5512,5513],{},"Когда их свойства обновляются, это приводит к сетевому запросу, который обновляет отображаемый HTML.",[2948,5515,5516,5517,5520,5521,5524],{},"Серверные компоненты пока экспериментальны; чтобы их использовать, включите в ",[2960,5518,5519],{},"nuxt.config"," опцию «островных компонентов» (",[2960,5522,5523],{},"component islands","):",[2952,5526,5528],{"className":4876,"code":5527,"filename":222,"language":3175,"meta":3176,"style":2958},"export default defineNuxtConfig({\n  experimental: {\n    componentIslands: true,\n  },\n})\n",[2960,5529,5530,5542,5551,5563,5567],{"__ignoreMap":2958},[2963,5531,5532,5534,5536,5538,5540],{"class":2965,"line":2966},[2963,5533,3184],{"class":3183},[2963,5535,3187],{"class":3183},[2963,5537,3191],{"class":3190},[2963,5539,3195],{"class":3194},[2963,5541,3198],{"class":2973},[2963,5543,5544,5547,5549],{"class":2965,"line":2980},[2963,5545,5546],{"class":3013},"  experimental",[2963,5548,3206],{"class":2973},[2963,5550,4318],{"class":2973},[2963,5552,5553,5556,5558,5561],{"class":2965,"line":2991},[2963,5554,5555],{"class":3013},"    componentIslands",[2963,5557,3206],{"class":2973},[2963,5559,5560],{"class":3247}," true",[2963,5562,3234],{"class":2973},[2963,5564,5565],{"class":2965,"line":3041},[2963,5566,5201],{"class":2973},[2963,5568,5569,5571],{"class":2965,"line":3051},[2963,5570,3269],{"class":2973},[2963,5572,3272],{"class":3194},[2948,5574,5575,5576,5579],{},"Теперь вы можете регистрировать серверные компоненты с суффиксом ",[2960,5577,5578],{},".server"," и автоматически использовать их в любом месте вашего приложения.",[2952,5581,5583],{"className":2954,"code":5582,"filename":2956,"language":2957,"meta":2958,"style":2958},"-| components/\n---| HighlightedMarkdown.server.vue\n",[2960,5584,5585,5593],{"__ignoreMap":2958},[2963,5586,5587,5589,5591],{"class":2965,"line":2966},[2963,5588,2970],{"class":2969},[2963,5590,2974],{"class":2973},[2963,5592,2977],{"class":2969},[2963,5594,5595,5597,5599],{"class":2965,"line":2980},[2963,5596,2983],{"class":2969},[2963,5598,2974],{"class":2973},[2963,5600,5601],{"class":2969}," HighlightedMarkdown.server.vue\n",[2952,5603,5605],{"className":3296,"code":5604,"filename":5395,"language":3297,"meta":2958,"style":2958},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003C!--\n      это будет автоматически отрендерено на сервере, то есть ваши библиотеки парсинга и подсветки markdown не будут включены в ваш клиентский бандл.\n     -->\n    \u003CHighlightedMarkdown markdown=\"# Заголовок\" />\n  \u003C/div>\n\u003C/template>\n",[2960,5606,5607,5615,5623,5628,5633,5638,5659,5667],{"__ignoreMap":2958},[2963,5608,5609,5611,5613],{"class":2965,"line":2966},[2963,5610,3010],{"class":2973},[2963,5612,3014],{"class":3013},[2963,5614,3017],{"class":2973},[2963,5616,5617,5619,5621],{"class":2965,"line":2980},[2963,5618,3022],{"class":2973},[2963,5620,3025],{"class":3013},[2963,5622,3017],{"class":2973},[2963,5624,5625],{"class":2965,"line":2991},[2963,5626,5627],{"class":4323},"    \u003C!--\n",[2963,5629,5630],{"class":2965,"line":3041},[2963,5631,5632],{"class":4323},"      это будет автоматически отрендерено на сервере, то есть ваши библиотеки парсинга и подсветки markdown не будут включены в ваш клиентский бандл.\n",[2963,5634,5635],{"class":2965,"line":3051},[2963,5636,5637],{"class":4323},"     -->\n",[2963,5639,5640,5642,5645,5648,5650,5652,5655,5657],{"class":2965,"line":3061},[2963,5641,3032],{"class":2973},[2963,5643,5644],{"class":3013},"HighlightedMarkdown",[2963,5646,5647],{"class":3308}," markdown",[2963,5649,3312],{"class":2973},[2963,5651,3315],{"class":2973},[2963,5653,5654],{"class":3227},"# Заголовок",[2963,5656,3315],{"class":2973},[2963,5658,3038],{"class":2973},[2963,5660,5661,5663,5665],{"class":2965,"line":3071},[2963,5662,3064],{"class":2973},[2963,5664,3025],{"class":3013},[2963,5666,3017],{"class":2973},[2963,5668,5669,5671,5673],{"class":2965,"line":3266},[2963,5670,3074],{"class":2973},[2963,5672,3014],{"class":3013},[2963,5674,3017],{"class":2973},[2948,5676,5677,5678,5682,5683,5686,5687,5690],{},"Компоненты, предназначенные только для сервера, используют ",[3890,5679,5680],{"href":493},[2960,5681,492],{}," под капотом, что означает, что свойство ",[2960,5684,5685],{},"lazy"," и слот ",[2960,5688,5689],{},"#fallback"," передаются им.",[3805,5692,5693],{},[2948,5694,5695],{},"Серверные компоненты (и islands) должны иметь один корневой элемент. (Комментарии HTML также считаются элементами.)",[3805,5697,5698],{},[2948,5699,5700],{},"Пропсы серверных компонентов передаются через параметры строки запроса URL и ограничены её длиной; не передавайте через пропсы слишком большие объёмы данных.",[3805,5702,5703],{},[2948,5704,5705],{},"Будьте осторожны при вложении островов друг в друга: каждый остров добавляет накладные расходы.",[3805,5707,5708],{},[2948,5709,5710],{},"Большинство функций для серверных компонентов и island-компонентов, таких как слоты и клиентские компоненты, доступны только для однофайловых компонентов.",[3817,5712,5714],{"id":5713},"клиентские-компоненты-внутри-серверных-компонентов","Клиентские компоненты внутри серверных компонентов",[3147,5716,5717],{},[2948,5718,5719,5720,3159],{},"Для работы этой функции в вашей конфигурации должен быть указан ",[2960,5721,5722],{},"experimental.componentIslands.selectiveClient",[2948,5724,5725,5726,5729],{},"Вы можете частично гидратировать компонент, установив атрибут ",[2960,5727,5728],{},"nuxt-client"," для компонента, который вы хотите загрузить на стороне клиента.",[2952,5731,5734],{"className":3296,"code":5732,"filename":5733,"language":3297,"meta":2958,"style":2958},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003CHighlightedMarkdown markdown=\"# Заголовок\" />\n    \u003C!-- Счётчик будет загружен и гидратирован на клиенте -->\n    \u003CCounter\n      nuxt-client\n      :count=\"5\"\n    />\n  \u003C/div>\n\u003C/template>\n","components/ServerWithClient.vue",[2960,5735,5736,5744,5752,5770,5775,5782,5787,5801,5805,5813],{"__ignoreMap":2958},[2963,5737,5738,5740,5742],{"class":2965,"line":2966},[2963,5739,3010],{"class":2973},[2963,5741,3014],{"class":3013},[2963,5743,3017],{"class":2973},[2963,5745,5746,5748,5750],{"class":2965,"line":2980},[2963,5747,3022],{"class":2973},[2963,5749,3025],{"class":3013},[2963,5751,3017],{"class":2973},[2963,5753,5754,5756,5758,5760,5762,5764,5766,5768],{"class":2965,"line":2991},[2963,5755,3032],{"class":2973},[2963,5757,5644],{"class":3013},[2963,5759,5647],{"class":3308},[2963,5761,3312],{"class":2973},[2963,5763,3315],{"class":2973},[2963,5765,5654],{"class":3227},[2963,5767,3315],{"class":2973},[2963,5769,3038],{"class":2973},[2963,5771,5772],{"class":2965,"line":3041},[2963,5773,5774],{"class":4323},"    \u003C!-- Счётчик будет загружен и гидратирован на клиенте -->\n",[2963,5776,5777,5779],{"class":2965,"line":3051},[2963,5778,3032],{"class":2973},[2963,5780,5781],{"class":3013},"Counter\n",[2963,5783,5784],{"class":2965,"line":3061},[2963,5785,5786],{"class":3308},"      nuxt-client\n",[2963,5788,5789,5792,5794,5796,5799],{"class":2965,"line":3071},[2963,5790,5791],{"class":3308},"      :count",[2963,5793,3312],{"class":2973},[2963,5795,3315],{"class":2973},[2963,5797,5798],{"class":3227},"5",[2963,5800,3714],{"class":2973},[2963,5802,5803],{"class":2965,"line":3266},[2963,5804,4471],{"class":2973},[2963,5806,5807,5809,5811],{"class":2965,"line":3462},[2963,5808,3064],{"class":2973},[2963,5810,3025],{"class":3013},[2963,5812,3017],{"class":2973},[2963,5814,5815,5817,5819],{"class":2965,"line":3482},[2963,5816,3074],{"class":2973},[2963,5818,3014],{"class":3013},[2963,5820,3017],{"class":2973},[3147,5822,5823],{},[2948,5824,5825,5826,5829,5830,5833],{},"Это работает только в серверном компоненте. Слоты для клиентских компонентов работают только с ",[2960,5827,5828],{},"experimental.componentIsland.selectiveClient",", установленным на ",[2960,5831,5832],{},"'deep'",", и поскольку они рендерятся на стороне сервера, они не являются интерактивными на стороне клиента.",[3817,5835,5837],{"id":5836},"контекст-серверного-компонента","Контекст серверного компонента",[2948,5839,5840,5841,5843,5844,5847],{},"При рендеринге серверного или island-компонента ",[2960,5842,492],{}," выполняет запрос; в ответ приходит ",[2960,5845,5846],{},"NuxtIslandResponse",". На сервере это внутренний запрос; в браузере такой запрос виден на вкладке «Сеть», если остров рендерится на клиенте.",[2948,5849,5850],{},"Отсюда следует:",[4601,5852,5853,5859,5866,5874],{},[4567,5854,5855,5856,5858],{},"На сервере для формирования ",[2960,5857,5846],{}," создаётся отдельное приложение Vue.",[4567,5860,5861,5862,5865],{},"Во время рендеринга компонента создаётся свой контекст острова (",[2960,5863,5864],{},"island context",").",[4567,5867,5868,5869,5873],{},"К контексту острова нельзя обратиться из остального приложения, и из острова недоступен контекст приложения: серверный и island-компонент ",[5870,5871,5872],"em",{},"изолированы"," от остальной части приложения.",[4567,5875,5876,5877,3159],{},"Плагины снова запускаются при рендере острова, если в объектном синтаксисе плагина не задано ",[2960,5878,5879],{},"env: { islands: false }",[3490,5881,5882],{},[2948,5883,5884],{},"Middleware маршрута не выполняется при рендеринге island-компонентов. Middleware относится к маршрутизации страниц, а не к рендерингу компонентов.",[2948,5886,5887,5888,5891],{},"Внутри island-компонента контекст доступен через ",[2960,5889,5890],{},"nuxtApp.ssrContext.islandContext",". Пока острова экспериментальны, формат этого контекста может меняться.",[3147,5893,5894],{},[2948,5895,5896,5897,5900,5901,3159],{},"Слоты могут быть интерактивными и заключаются в ",[2960,5898,5899],{},"\u003Cdiv>"," с ",[2960,5902,5903],{},"display: contents;",[3788,5905,5907],{"id":5906},"в-паре-с-клиентским-компонентом","В паре с клиентским компонентом",[2948,5909,5910,5911,5913,5914,5916],{},"В этом случае компоненты ",[2960,5912,5578],{}," + ",[2960,5915,5369],{}," представляют собой две «половинки» компонента и могут использоваться в расширенных вариантах использования для отдельных реализаций компонента на стороне сервера и клиента.",[2952,5918,5920],{"className":2954,"code":5919,"filename":2956,"language":2957,"meta":2958,"style":2958},"-| components/\n---| Comments.client.vue\n---| Comments.server.vue\n",[2960,5921,5922,5930,5938],{"__ignoreMap":2958},[2963,5923,5924,5926,5928],{"class":2965,"line":2966},[2963,5925,2970],{"class":2969},[2963,5927,2974],{"class":2973},[2963,5929,2977],{"class":2969},[2963,5931,5932,5934,5936],{"class":2965,"line":2980},[2963,5933,2983],{"class":2969},[2963,5935,2974],{"class":2973},[2963,5937,5391],{"class":2969},[2963,5939,5940,5942,5944],{"class":2965,"line":2991},[2963,5941,2983],{"class":2969},[2963,5943,2974],{"class":2973},[2963,5945,5946],{"class":2969}," Comments.server.vue\n",[2952,5948,5950],{"className":3296,"code":5949,"filename":5395,"language":3297,"meta":2958,"style":2958},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003C!-- этот компонент отрендерит Comments.server на сервере, а затем Comments.client после монтирования в браузере -->\n    \u003CComments />\n  \u003C/div>\n\u003C/template>\n",[2960,5951,5952,5960,5968,5973,5981,5989],{"__ignoreMap":2958},[2963,5953,5954,5956,5958],{"class":2965,"line":2966},[2963,5955,3010],{"class":2973},[2963,5957,3014],{"class":3013},[2963,5959,3017],{"class":2973},[2963,5961,5962,5964,5966],{"class":2965,"line":2980},[2963,5963,3022],{"class":2973},[2963,5965,3025],{"class":3013},[2963,5967,3017],{"class":2973},[2963,5969,5970],{"class":2965,"line":2991},[2963,5971,5972],{"class":4323},"    \u003C!-- этот компонент отрендерит Comments.server на сервере, а затем Comments.client после монтирования в браузере -->\n",[2963,5974,5975,5977,5979],{"class":2965,"line":3041},[2963,5976,3032],{"class":2973},[2963,5978,5425],{"class":3013},[2963,5980,3038],{"class":2973},[2963,5982,5983,5985,5987],{"class":2965,"line":3051},[2963,5984,3064],{"class":2973},[2963,5986,3025],{"class":3013},[2963,5988,3017],{"class":2973},[2963,5990,5991,5993,5995],{"class":2965,"line":3061},[2963,5992,3074],{"class":2973},[2963,5994,3014],{"class":3013},[2963,5996,3017],{"class":2973},[3080,5998,6000],{"id":5999},"встроенные-компоненты-nuxt","Встроенные компоненты Nuxt",[2948,6002,6003,6004,4043,6006,6008],{},"Nuxt предоставляет ряд компонентов, включая ",[2960,6005,439],{},[2960,6007,443],{},". Подробнее о них можно прочитать в документации API.",[3875,6010,6011],{"to":429},[2948,6012,6013,6014,3159],{},"Полный перечень встроенных компонентов — в разделе ",[4570,6015,6016],{},"API Nuxt",[3080,6018,6020],{"id":6019},"авторам-библиотек","Авторам библиотек",[2948,6022,6023],{},"Создавать библиотеки компонентов Vue с автоматическим отсечением неиспользуемого кода (tree-shaking) и регистрацией компонентов очень просто. ✨",[2948,6025,6026,6027,6033,6034,3159],{},"Для регистрации директории компонентов в Nuxt-модуле используйте метод ",[3890,6028,6030],{"href":6029},"/docs/3.x/api/kit/components#addcomponentsdir",[2960,6031,6032],{},"addComponentsDir"," из ",[2960,6035,5100],{},[2948,6037,6038],{},"Представьте себе такую структуру директорий:",[2952,6040,6042],{"className":2954,"code":6041,"filename":2956,"language":2957,"meta":2958,"style":2958},"-| node_modules/\n---| awesome-ui/\n-----| components/\n-------| Alert.vue\n-------| Button.vue\n-----| nuxt.ts\n-| pages/\n---| index.vue\n-| nuxt.config.ts\n",[2960,6043,6044,6053,6062,6070,6079,6087,6096,6105,6114],{"__ignoreMap":2958},[2963,6045,6046,6048,6050],{"class":2965,"line":2966},[2963,6047,2970],{"class":2969},[2963,6049,2974],{"class":2973},[2963,6051,6052],{"class":2969}," node_modules/\n",[2963,6054,6055,6057,6059],{"class":2965,"line":2980},[2963,6056,2983],{"class":2969},[2963,6058,2974],{"class":2973},[2963,6060,6061],{"class":2969}," awesome-ui/\n",[2963,6063,6064,6066,6068],{"class":2965,"line":2991},[2963,6065,3113],{"class":2969},[2963,6067,2974],{"class":2973},[2963,6069,2977],{"class":2969},[2963,6071,6072,6074,6076],{"class":2965,"line":3041},[2963,6073,3123],{"class":2969},[2963,6075,2974],{"class":2973},[2963,6077,6078],{"class":2969}," Alert.vue\n",[2963,6080,6081,6083,6085],{"class":2965,"line":3051},[2963,6082,3123],{"class":2969},[2963,6084,2974],{"class":2973},[2963,6086,3128],{"class":2969},[2963,6088,6089,6091,6093],{"class":2965,"line":3061},[2963,6090,3113],{"class":2969},[2963,6092,2974],{"class":2973},[2963,6094,6095],{"class":2969}," nuxt.ts\n",[2963,6097,6098,6100,6102],{"class":2965,"line":3071},[2963,6099,2970],{"class":2969},[2963,6101,2974],{"class":2973},[2963,6103,6104],{"class":2969}," pages/\n",[2963,6106,6107,6109,6111],{"class":2965,"line":3266},[2963,6108,2983],{"class":2969},[2963,6110,2974],{"class":2973},[2963,6112,6113],{"class":2969}," index.vue\n",[2963,6115,6116,6118,6120],{"class":2965,"line":3462},[2963,6117,2970],{"class":2969},[2963,6119,2974],{"class":2973},[2963,6121,6122],{"class":2969}," nuxt.config.ts\n",[2948,6124,6125,6126,6129,6130,3206],{},"Затем в ",[2960,6127,6128],{},"awesome-ui/nuxt.ts"," вы можете использовать хук ",[2960,6131,6032],{},[2952,6133,6135],{"className":4876,"code":6134,"language":3175,"meta":3176,"style":2958},"import { addComponentsDir, createResolver, defineNuxtModule } from '@nuxt/kit'\n\nexport default defineNuxtModule({\n  setup () {\n    const resolver = createResolver(import.meta.url)\n\n    // Добавьте директорию ./components в список\n    addComponentsDir({\n      path: resolver.resolve('./components'),\n      prefix: 'awesome',\n    })\n  },\n})\n",[2960,6136,6137,6165,6169,6181,6189,6217,6221,6226,6235,6262,6278,6284,6288],{"__ignoreMap":2958},[2963,6138,6139,6141,6143,6146,6148,6151,6153,6155,6157,6159,6161,6163],{"class":2965,"line":2966},[2963,6140,3371],{"class":3183},[2963,6142,3374],{"class":2973},[2963,6144,6145],{"class":3194}," addComponentsDir",[2963,6147,3251],{"class":2973},[2963,6149,6150],{"class":3194}," createResolver",[2963,6152,3251],{"class":2973},[2963,6154,5091],{"class":3194},[2963,6156,3380],{"class":2973},[2963,6158,3383],{"class":3183},[2963,6160,3224],{"class":2973},[2963,6162,5100],{"class":3227},[2963,6164,3390],{"class":2973},[2963,6166,6167],{"class":2965,"line":2980},[2963,6168,3395],{"emptyLinePlaceholder":1215},[2963,6170,6171,6173,6175,6177,6179],{"class":2965,"line":2991},[2963,6172,3184],{"class":3183},[2963,6174,3187],{"class":3183},[2963,6176,5091],{"class":3190},[2963,6178,3195],{"class":3194},[2963,6180,3198],{"class":2973},[2963,6182,6183,6185,6187],{"class":2965,"line":3041},[2963,6184,5123],{"class":3013},[2963,6186,4315],{"class":2973},[2963,6188,4318],{"class":2973},[2963,6190,6191,6194,6197,6199,6201,6203,6205,6207,6210,6212,6215],{"class":2965,"line":3051},[2963,6192,6193],{"class":3308},"    const",[2963,6195,6196],{"class":3194}," resolver",[2963,6198,4337],{"class":2973},[2963,6200,6150],{"class":3190},[2963,6202,3195],{"class":3013},[2963,6204,3371],{"class":3183},[2963,6206,3159],{"class":2973},[2963,6208,6209],{"class":3194},"meta",[2963,6211,3159],{"class":2973},[2963,6213,6214],{"class":3194},"url",[2963,6216,3272],{"class":3013},[2963,6218,6219],{"class":2965,"line":3061},[2963,6220,3395],{"emptyLinePlaceholder":1215},[2963,6222,6223],{"class":2965,"line":3071},[2963,6224,6225],{"class":4323},"    // Добавьте директорию ./components в список\n",[2963,6227,6228,6231,6233],{"class":2965,"line":3266},[2963,6229,6230],{"class":3190},"    addComponentsDir",[2963,6232,3195],{"class":3013},[2963,6234,3198],{"class":2973},[2963,6236,6237,6239,6241,6243,6245,6248,6250,6252,6255,6257,6260],{"class":2965,"line":3462},[2963,6238,3219],{"class":3013},[2963,6240,3206],{"class":2973},[2963,6242,6196],{"class":3194},[2963,6244,3159],{"class":2973},[2963,6246,6247],{"class":3190},"resolve",[2963,6249,3195],{"class":3013},[2963,6251,3231],{"class":2973},[2963,6253,6254],{"class":3227},"./components",[2963,6256,3231],{"class":2973},[2963,6258,6259],{"class":3013},")",[2963,6261,3234],{"class":2973},[2963,6263,6264,6267,6269,6271,6274,6276],{"class":2965,"line":3482},[2963,6265,6266],{"class":3013},"      prefix",[2963,6268,3206],{"class":2973},[2963,6270,3224],{"class":2973},[2963,6272,6273],{"class":3227},"awesome",[2963,6275,3231],{"class":2973},[2963,6277,3234],{"class":2973},[2963,6279,6280,6282],{"class":2965,"line":3717},[2963,6281,5194],{"class":2973},[2963,6283,3272],{"class":3013},[2963,6285,6286],{"class":2965,"line":3732},[2963,6287,5201],{"class":2973},[2963,6289,6290,6292],{"class":2965,"line":3738},[2963,6291,3269],{"class":2973},[2963,6293,3272],{"class":3194},[2948,6295,6296,6297,3206],{},"Готово. Теперь в проекте можно подключить UI-библиотеку как модуль Nuxt в ",[2960,6298,5519],{},[2952,6300,6302],{"className":4876,"code":6301,"filename":222,"language":3175,"meta":3176,"style":2958},"export default defineNuxtConfig({\n  modules: ['awesome-ui/nuxt'],\n})\n",[2960,6303,6304,6316,6336],{"__ignoreMap":2958},[2963,6305,6306,6308,6310,6312,6314],{"class":2965,"line":2966},[2963,6307,3184],{"class":3183},[2963,6309,3187],{"class":3183},[2963,6311,3191],{"class":3190},[2963,6313,3195],{"class":3194},[2963,6315,3198],{"class":2973},[2963,6317,6318,6321,6323,6325,6327,6330,6332,6334],{"class":2965,"line":2980},[2963,6319,6320],{"class":3013},"  modules",[2963,6322,3206],{"class":2973},[2963,6324,5331],{"class":3194},[2963,6326,3231],{"class":2973},[2963,6328,6329],{"class":3227},"awesome-ui/nuxt",[2963,6331,3231],{"class":2973},[2963,6333,5341],{"class":3194},[2963,6335,3234],{"class":2973},[2963,6337,6338,6340],{"class":2965,"line":2991},[2963,6339,3269],{"class":2973},[2963,6341,3272],{"class":3194},[2948,6343,6344,6345,6348,6349,3206],{},"... и напрямую использовать компоненты модуля (с префиксом ",[2960,6346,6347],{},"awesome-",") в нашем ",[2960,6350,3341],{},[2952,6352,6354],{"className":3296,"code":6353,"language":3297,"meta":2958,"style":2958},"\u003Ctemplate>\n  \u003Cdiv>\n    Моя \u003CAwesomeButton>UI кнопка\u003C/AwesomeButton>!\n    \u003Cawesome-alert>Это алерт!\u003C/awesome-alert>\n  \u003C/div>\n\u003C/template>\n",[2960,6355,6356,6364,6372,6396,6414,6422],{"__ignoreMap":2958},[2963,6357,6358,6360,6362],{"class":2965,"line":2966},[2963,6359,3010],{"class":2973},[2963,6361,3014],{"class":3013},[2963,6363,3017],{"class":2973},[2963,6365,6366,6368,6370],{"class":2965,"line":2980},[2963,6367,3022],{"class":2973},[2963,6369,3025],{"class":3013},[2963,6371,3017],{"class":2973},[2963,6373,6374,6377,6379,6382,6384,6387,6389,6391,6393],{"class":2965,"line":2991},[2963,6375,6376],{"class":3194},"    Моя ",[2963,6378,3010],{"class":2973},[2963,6380,6381],{"class":3013},"AwesomeButton",[2963,6383,3323],{"class":2973},[2963,6385,6386],{"class":3194},"UI кнопка",[2963,6388,3074],{"class":2973},[2963,6390,6381],{"class":3013},[2963,6392,3323],{"class":2973},[2963,6394,6395],{"class":3194},"!\n",[2963,6397,6398,6400,6403,6405,6408,6410,6412],{"class":2965,"line":3041},[2963,6399,3032],{"class":2973},[2963,6401,6402],{"class":3013},"awesome-alert",[2963,6404,3323],{"class":2973},[2963,6406,6407],{"class":3194},"Это алерт!",[2963,6409,3074],{"class":2973},[2963,6411,6402],{"class":3013},[2963,6413,3017],{"class":2973},[2963,6415,6416,6418,6420],{"class":2965,"line":3051},[2963,6417,3064],{"class":2973},[2963,6419,3025],{"class":3013},[2963,6421,3017],{"class":2973},[2963,6423,6424,6426,6428],{"class":2965,"line":3061},[2963,6425,3074],{"class":2973},[2963,6427,3014],{"class":3013},[2963,6429,3017],{"class":2973},[2948,6431,6432,6433,3159],{},"Это автоматически импортирует компоненты только в том случае, если они используются, а также поддерживает HMR при обновлении компонентов в ",[2960,6434,6435],{},"node_modules/awesome-ui/components/",[6437,6438],"link-example",{"to":927},[6440,6441,6442],"style",{},"html pre.shiki code .s52Pk, html code.shiki .s52Pk{--shiki-light:#E2931D;--shiki-default:#E2931D;--shiki-dark:#FFCB6B}html pre.shiki code .sDfIl, html code.shiki .sDfIl{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}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 .sRlkE, html code.shiki .sRlkE{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}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 .sGFVr, html code.shiki .sGFVr{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}html pre.shiki code .sbKd-, html code.shiki .sbKd-{--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC}html pre.shiki code .smZ93, html code.shiki .smZ93{--shiki-light:#9C3EDA;--shiki-default:#9C3EDA;--shiki-dark:#C792EA}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}",{"title":2958,"searchDepth":2980,"depth":2980,"links":6444},[6445,6446,6447,6448,6453,6454,6455,6456,6457,6458,6462,6463],{"id":3082,"depth":2980,"text":3083},{"id":3289,"depth":2980,"text":3290},{"id":3568,"depth":2980,"text":3569},{"id":3773,"depth":2980,"text":3774,"children":6449},[6450,6451,6452],{"id":3790,"depth":2991,"text":3791},{"id":4411,"depth":2991,"text":4412},{"id":4558,"depth":2991,"text":4559},{"id":4630,"depth":2980,"text":4631},{"id":4866,"depth":2980,"text":4867},{"id":5054,"depth":2980,"text":5055},{"id":5260,"depth":2980,"text":5261},{"id":5362,"depth":2980,"text":5363},{"id":5479,"depth":2980,"text":5480,"children":6459},[6460,6461],{"id":5506,"depth":2991,"text":5507},{"id":5906,"depth":2991,"text":5907},{"id":5999,"depth":2980,"text":6000},{"id":6019,"depth":2980,"text":6020},"Каталог components/ — место для Vue-компонентов приложения.","md",{"head":6467},{"title":6468},"Каталог components/",{"icon":133},{"title":130,"description":6464},"B6ZcXcq9hMwn-xkI2CTFKhBfLVo7D1drG_MFw1nVCAI",[6473,6475],{"title":126,"path":127,"stem":128,"description":6474,"icon":120},"Каталог assets/ предназначен для ресурсов сайта, которые обрабатывает сборщик (Vite или webpack).",{"title":135,"path":136,"stem":137,"description":6476,"icon":120},"Каталог composables/ — композаблы Vue с автоматическим импортом.",1774862536157]