[{"data":1,"prerenderedAt":2319},["ShallowReactive",2],{"docs-all-flat":3,"docs-\u002Fdocs\u002Fcommunity\u002Fcontribution":1018},[4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304,308,312,316,320,324,328,332,336,340,344,348,352,355,359,363,367,371,375,379,383,387,391,395,399,403,407,411,415,419,423,427,431,435,439,443,447,451,455,459,463,467,471,475,479,483,487,491,495,499,503,507,511,515,519,523,527,531,535,539,543,547,551,555,559,563,567,571,575,579,583,587,591,595,599,603,607,611,615,619,623,627,631,635,639,643,647,651,655,659,663,667,671,675,679,683,687,691,695,699,703,707,711,715,719,723,727,731,735,739,743,747,751,755,759,763,767,770,774,778,782,786,790,794,798,802,806,809,813,817,821,825,829,833,837,841,845,849,852,855,859,863,867,871,874,877,881,884,888,892,895,898,901,904,907,911,915,918,922,926,930,934,938,942,946,950,954,958,962,966,970,974,978,982,986,990,994,998,1002,1006,1010,1014],{"path":5,"title":6,"description":7},"\u002Fdocs\u002Fgetting-started\u002Fintroduction","介绍","Nuxt 的目标是提供直观且高性能的 Web 开发体验，并始终将优秀的开发者体验（Developer Experience）放在心上。",{"path":9,"title":10,"description":11},"\u002Fdocs\u002Fgetting-started\u002Finstallation","安装","通过在线 starter 快速上手 Nuxt，或在本地使用终端从零开始。",{"path":13,"title":14,"description":15},"\u002Fdocs\u002Fgetting-started\u002Fconfiguration","配置","Nuxt 提供了合理的默认配置，让你高效开发。",{"path":17,"title":18,"description":19},"\u002Fdocs\u002Fgetting-started\u002Fviews","视图","Nuxt 提供了多个组件层来实现应用的用户界面。",{"path":21,"title":22,"description":23},"\u002Fdocs\u002Fgetting-started\u002Fassets","资源","Nuxt 为你的资源提供了两种处理方式。",{"path":25,"title":26,"description":27},"\u002Fdocs\u002Fgetting-started\u002Fstyling","样式","了解如何为你的 Nuxt 应用添加样式。",{"path":29,"title":30,"description":31},"\u002Fdocs\u002Fgetting-started\u002Frouting","路由","Nuxt 的文件系统路由会为 pages\u002F 目录中的每个文件创建一条路由。",{"path":33,"title":34,"description":35},"\u002Fdocs\u002Fgetting-started\u002Fseo-meta","SEO 与 Meta","借助强大的 head 配置、composables 和组件，改善你的 Nuxt 应用的 SEO。",{"path":37,"title":38,"description":39},"\u002Fdocs\u002Fgetting-started\u002Ftransitions","过渡","使用 Vue 或浏览器原生的 View Transitions，在页面和布局之间应用过渡效果。",{"path":41,"title":42,"description":43},"\u002Fdocs\u002Fgetting-started\u002Fdata-fetching","数据获取","Nuxt 提供了用于处理应用内数据获取的 composables。",{"path":45,"title":46,"description":47},"\u002Fdocs\u002Fgetting-started\u002Fstate-management","状态管理","Nuxt 提供了强大的状态管理库和 useState composable，用于创建响应式且对 SSR 友好的共享状态。",{"path":49,"title":50,"description":51},"\u002Fdocs\u002Fgetting-started\u002Ferror-handling","错误处理","了解如何在 Nuxt 中捕获和处理错误。",{"path":53,"title":54,"description":55},"\u002Fdocs\u002Fgetting-started\u002Fserver","Server","利用 Nuxt 的服务端框架构建全栈应用。你可以从数据库或其他服务端获取数据、创建 API，甚至生成像站点地图或 RSS 这样的静态服务端内容——全部来自同一个代码库。",{"path":57,"title":58,"description":59},"\u002Fdocs\u002Fgetting-started\u002Flayers","Layers","Nuxt 提供了一套强大的系统，允许你扩展默认文件、配置以及更多内容。",{"path":61,"title":62,"description":63},"\u002Fdocs\u002Fgetting-started\u002Fprerendering","Prerendering","Nuxt 允许在构建时静态渲染某些页面，以改善特定的性能或 SEO 指标。",{"path":65,"title":66,"description":67},"\u002Fdocs\u002Fgetting-started\u002Fdeployment","Deployment","了解如何将你的 Nuxt 应用部署到任何托管提供商。",{"path":69,"title":70,"description":71},"\u002Fdocs\u002Fgetting-started\u002Ftesting","Testing","如何测试你的 Nuxt 应用。",{"path":73,"title":74,"description":75},"\u002Fdocs\u002Fgetting-started\u002Fupgrade","Upgrade Guide","了解如何升级到最新的 Nuxt 版本。",{"path":77,"title":78,"description":79},"\u002Fdocs\u002Fdirectory-structure\u002Fnuxt",".nuxt","Nuxt 在开发阶段使用 .nuxt\u002F 目录来生成你的 Vue 应用。",{"path":81,"title":82,"description":83},"\u002Fdocs\u002Fdirectory-structure\u002Foutput",".output","Nuxt 在为生产环境构建应用时创建 .output\u002F 目录。",{"path":85,"title":86,"description":87},"\u002Fdocs\u002Fdirectory-structure\u002Fapp\u002Fassets","assets","assets\u002F 目录用于添加所有将由构建工具处理的网站资源。",{"path":89,"title":90,"description":91},"\u002Fdocs\u002Fdirectory-structure\u002Fapp\u002Fcomponents","components","components\u002F 目录用于存放你所有的 Vue 组件。",{"path":93,"title":94,"description":95},"\u002Fdocs\u002Fdirectory-structure\u002Fapp\u002Fcomposables","composables","使用 composables\u002F 目录将你的 Vue 组合式函数自动导入到应用中。",{"path":97,"title":98,"description":99},"\u002Fdocs\u002Fdirectory-structure\u002Fapp\u002Flayouts","layouts","Nuxt 提供了一个布局框架，用于将通用的 UI 模式提取为可复用的布局。",{"path":101,"title":102,"description":103},"\u002Fdocs\u002Fdirectory-structure\u002Fapp\u002Fmiddleware","middleware","Nuxt 提供中间件，用于在导航到特定路由前运行代码。",{"path":105,"title":106,"description":107},"\u002Fdocs\u002Fdirectory-structure\u002Fapp\u002Fpages","pages","Nuxt 提供基于文件的路由，用于在 Web 应用中创建路由。",{"path":109,"title":110,"description":111},"\u002Fdocs\u002Fdirectory-structure\u002Fapp\u002Fplugins","plugins","Nuxt 拥有一个插件系统，用于在创建 Vue 应用时使用 Vue 插件等。",{"path":113,"title":114,"description":115},"\u002Fdocs\u002Fdirectory-structure\u002Fapp\u002Futils","utils","使用 utils\u002F 目录在你的应用中自动导入工具函数。",{"path":117,"title":118,"description":119},"\u002Fdocs\u002Fdirectory-structure\u002Fapp\u002Fapp","app.vue","app.vue 文件是你 Nuxt 应用的主组件。",{"path":121,"title":122,"description":123},"\u002Fdocs\u002Fdirectory-structure\u002Fapp\u002Fapp-config","app.config.ts","使用 App Config 文件在应用内部暴露响应式配置。",{"path":125,"title":126,"description":127},"\u002Fdocs\u002Fdirectory-structure\u002Fapp\u002Ferror","error.vue","error.vue 文件是你 Nuxt 应用中的错误页面。",{"path":129,"title":130,"description":131},"\u002Fdocs\u002Fdirectory-structure\u002Fcontent","content","使用 content\u002F 目录为你的应用创建一个基于文件的 CMS。",{"path":133,"title":134,"description":135},"\u002Fdocs\u002Fdirectory-structure\u002Flayers","layers","使用 layers\u002F 目录在你的应用中组织和自动注册本地 layers。",{"path":137,"title":138,"description":139},"\u002Fdocs\u002Fdirectory-structure\u002Fmodules","modules","使用 modules\u002F 目录在你的应用中自动注册本地模块。",{"path":141,"title":142,"description":143},"\u002Fdocs\u002Fdirectory-structure\u002Fnode_modules","node_modules","包管理器将项目的依赖存储在 node_modules\u002F 目录中。",{"path":145,"title":146,"description":147},"\u002Fdocs\u002Fdirectory-structure\u002Fpublic","public","public\u002F 目录用于提供网站的静态资源。",{"path":149,"title":150,"description":151},"\u002Fdocs\u002Fdirectory-structure\u002Fserver","server","server\u002F 目录用于为你的应用注册 API 和服务端处理器。",{"path":153,"title":154,"description":155},"\u002Fdocs\u002Fdirectory-structure\u002Fshared","shared","使用 shared\u002F 目录在 Vue 应用和 Nitro 服务端之间共享功能。",{"path":157,"title":158,"description":159},"\u002Fdocs\u002Fdirectory-structure\u002Fenv",".env",".env 文件用于指定构建\u002F开发时的环境变量。",{"path":161,"title":162,"description":163},"\u002Fdocs\u002Fdirectory-structure\u002Fgitignore",".gitignore",".gitignore 文件用于指定 git 应当忽略的、有意不跟踪的文件。",{"path":165,"title":166,"description":167},"\u002Fdocs\u002Fdirectory-structure\u002Fnuxtignore",".nuxtignore",".nuxtignore 文件用于让 Nuxt 在构建阶段忽略项目根目录中的文件。",{"path":169,"title":170,"description":171},"\u002Fdocs\u002Fdirectory-structure\u002Fnuxtrc",".nuxtrc",".nuxtrc 文件允许你用扁平语法定义 Nuxt 配置。",{"path":173,"title":174,"description":175},"\u002Fdocs\u002Fdirectory-structure\u002Fnuxt-config","nuxt.config.ts","只需要一个 nuxt.config 文件，即可轻松配置 Nuxt。",{"path":177,"title":178,"description":179},"\u002Fdocs\u002Fdirectory-structure\u002Fpackage","package.json","package.json 文件包含你应用的所有依赖和脚本。",{"path":181,"title":182,"description":183},"\u002Fdocs\u002Fdirectory-structure\u002Ftsconfig","tsconfig.json","了解 Nuxt 如何在项目的不同部分管理 TypeScript 配置。",{"path":185,"title":186,"description":187},"\u002Fdocs\u002Fdirectory-structure","Nuxt 目录结构","了解 Nuxt 应用的目录结构以及如何使用它。",{"path":189,"title":190,"description":191},"\u002Fdocs\u002Fguide","Nuxt 指南","通过深入的指南了解 Nuxt 的工作原理。",{"path":193,"title":194,"description":195},"\u002Fdocs\u002Fguide\u002Fconcepts\u002Frendering","渲染模式","了解 Nuxt 中可用的不同渲染模式。",{"path":197,"title":198,"description":199},"\u002Fdocs\u002Fguide\u002Fconcepts\u002Fvuejs-development","Vue.js 开发","Nuxt 使用 Vue.js，并添加了组件自动导入、基于文件的路由以及支持 SSR 的组合式函数等特性。",{"path":201,"title":202,"description":203},"\u002Fdocs\u002Fguide\u002Fconcepts\u002Fnuxt-lifecycle","Nuxt 生命周期","理解 Nuxt 应用的生命周期，可以帮助你更深入地了解框架是如何运作的，尤其是在服务端渲染和客户端渲染两方面。",{"path":205,"title":206,"description":207},"\u002Fdocs\u002Fguide\u002Fconcepts\u002Fauto-imports","自动导入","Nuxt 会自动导入组件、组合式函数、辅助函数和 Vue API。",{"path":209,"title":210,"description":211},"\u002Fdocs\u002Fguide\u002Fconcepts\u002Fserver-engine","服务端引擎","Nuxt 由一个全新的服务端引擎驱动：Nitro。",{"path":213,"title":214,"description":215},"\u002Fdocs\u002Fguide\u002Fconcepts\u002Fmodules","模块","Nuxt 提供了一个模块系统来扩展框架核心并简化集成。",{"path":217,"title":218,"description":219},"\u002Fdocs\u002Fguide\u002Fconcepts\u002Fesm","ES 模块","Nuxt 使用原生的 ES 模块。",{"path":221,"title":222,"description":223},"\u002Fdocs\u002Fguide\u002Fconcepts\u002Ftypescript","TypeScript","Nuxt 完全类型化，并提供了有用的快捷方式，确保你在编码时能获取准确的类型信息。",{"path":225,"title":226,"description":227},"\u002Fdocs\u002Fguide\u002Fconcepts\u002Fcode-style","代码风格","Nuxt 开箱即用地支持 ESLint",{"path":229,"title":230,"description":231},"\u002Fdocs\u002Fguide\u002Fbest-practices\u002Fdevcontainers","Dev Containers","在开发容器中设置或打开 Nuxt 项目，以获得一致开发环境。",{"path":233,"title":234,"description":235},"\u002Fdocs\u002Fguide\u002Fbest-practices\u002Fhydration","Nuxt and Hydration","为什么修复水合问题很重要",{"path":237,"title":238,"description":239},"\u002Fdocs\u002Fguide\u002Fbest-practices\u002Fperformance","Nuxt performance","提升 Nuxt 应用性能的最佳实践。",{"path":241,"title":242,"description":243},"\u002Fdocs\u002Fguide\u002Fbest-practices\u002Fplugins","Nuxt Plugins","使用 Nuxt 插件时的最佳实践。",{"path":245,"title":246,"description":247},"\u002Fdocs\u002Fguide\u002Fai\u002Fmcp","Nuxt MCP Server","借助 Model Context Protocol 支持，在你的 AI 助手中使用 Nuxt 文档。",{"path":249,"title":250,"description":251},"\u002Fdocs\u002Fguide\u002Fai\u002Fllms-txt","Nuxt LLMs.txt","如何让 Cursor、Windsurf、GitHub Copilot、ChatGPT 和 Claude 等 AI 工具理解 Nuxt 的概念、API 和最佳实践。",{"path":253,"title":254,"description":255},"\u002Fdocs\u002Fguide\u002Fmodules\u002Fgetting-started","创建你的第一个模块","学习如何使用官方启动模板创建你的第一个 Nuxt 模块。",{"path":257,"title":258,"description":259},"\u002Fdocs\u002Fguide\u002Fmodules\u002Fmodule-anatomy","理解模块结构","学习 Nuxt 模块是如何构成的，以及如何定义它们。",{"path":261,"title":262,"description":263},"\u002Fdocs\u002Fguide\u002Fmodules\u002Frecipes-basics","添加插件、组件等","学习如何从你的模块注入插件、组件、组合式函数和服务端路由。",{"path":265,"title":266,"description":267},"\u002Fdocs\u002Fguide\u002Fmodules\u002Fmodule-dependencies","模块依赖","声明对其它模块的依赖，并带有版本约束和配置合并。",{"path":269,"title":270,"description":271},"\u002Fdocs\u002Fguide\u002Fmodules\u002Frecipes-advanced","使用钩子与扩展类型","在你的模块中掌握生命周期钩子、虚拟文件和 TypeScript 声明。",{"path":273,"title":274,"description":275},"\u002Fdocs\u002Fguide\u002Fmodules\u002Ftesting","测试你的模块","学习如何对你的 Nuxt 模块进行单元、集成和 E2E 测试。",{"path":277,"title":278,"description":279},"\u002Fdocs\u002Fguide\u002Fmodules\u002Fbest-practices","遵循最佳实践","使用这些指南构建高性能且可维护的 Nuxt 模块。",{"path":281,"title":282,"description":283},"\u002Fdocs\u002Fguide\u002Fmodules\u002Fecosystem","发布与分享你的模块","加入 Nuxt 模块生态，并将你的模块发布到 npm。",{"path":285,"title":286,"description":287},"\u002Fdocs\u002Fguide\u002Fmodules","Module Author Guide","学习如何创建 Nuxt 模块，以集成、增强或扩展任意 Nuxt 应用。",{"path":289,"title":290,"description":291},"\u002Fdocs\u002Fguide\u002Frecipes\u002Fcustom-routing","自定义路由","在 Nuxt 中，你的路由由 pages 目录内文件的结构定义。不过，由于底层使用了 vue-router，Nuxt 提供了几种在你的项目中添加自定义路由的方式。",{"path":293,"title":294,"description":295},"\u002Fdocs\u002Fguide\u002Frecipes\u002Fvite-plugin","在 Nuxt 中使用 Vite 插件","学习如何将 Vite 插件集成到你的 Nuxt 项目中。",{"path":297,"title":298,"description":299},"\u002Fdocs\u002Fguide\u002Frecipes\u002Fcustom-usefetch","Nuxt 中的自定义 useFetch","如何在 Nuxt 中创建用于调用你外部 API 的自定义 fetcher。",{"path":301,"title":302,"description":303},"\u002Fdocs\u002Fguide\u002Frecipes\u002Fsessions-and-authentication","会话与鉴权","鉴权是 Web 应用中极其常见的需求。本配方将向你展示如何在你的 Nuxt 应用中实现基本的用户注册与鉴权。",{"path":305,"title":306,"description":307},"\u002Fdocs\u002Fguide\u002Fgoing-further\u002Fevents","创建自定义事件","Nuxt 提供了一个由 hookable 驱动的强大事件系统。",{"path":309,"title":310,"description":311},"\u002Fdocs\u002Fguide\u002Fgoing-further\u002Fexperimental-features","实验性特性","启用 Nuxt 实验性特性以解锁新的可能性。",{"path":313,"title":314,"description":315},"\u002Fdocs\u002Fguide\u002Fgoing-further\u002Ffeatures","特性开关","启用或禁用可选的 Nuxt 特性，以解锁新的可能性。",{"path":317,"title":318,"description":319},"\u002Fdocs\u002Fguide\u002Fgoing-further\u002Finternals","Nuxt 是如何工作的？","Nuxt 是一个极简但高度可定制的框架，用于构建 Web 应用。",{"path":321,"title":322,"description":323},"\u002Fdocs\u002Fguide\u002Fgoing-further\u002Fruntime-config","运行时配置","Nuxt 提供了一套运行时配置 API，以在你的应用内暴露配置和密钥。",{"path":325,"title":326,"description":327},"\u002Fdocs\u002Fguide\u002Fgoing-further\u002Fnightly-release-channel","Nightly 发布通道","nightly 发布通道允许使用直接从仓库最新提交构建的 Nuxt。",{"path":329,"title":330,"description":331},"\u002Fdocs\u002Fguide\u002Fgoing-further\u002Fhooks","生命周期钩子","Nuxt 提供了一个强大的钩子系统，可使用钩子扩展几乎每个方面。",{"path":333,"title":334,"description":335},"\u002Fdocs\u002Fguide\u002Fgoing-further\u002Fkit","Nuxt Kit","@nuxt\u002Fkit 提供了面向模块作者的功能。",{"path":337,"title":338,"description":339},"\u002Fdocs\u002Fguide\u002Fgoing-further\u002Fnuxt-app","NuxtApp","在 Nuxt 中，你可以在组合式函数、组件和插件中访问运行时应用上下文。",{"path":341,"title":342,"description":343},"\u002Fdocs\u002Fguide\u002Fgoing-further\u002Flayers","编写 Nuxt Layers","Nuxt 提供了一个强大的系统，允许你扩展默认文件、配置等等。",{"path":345,"title":346,"description":347},"\u002Fdocs\u002Fguide\u002Fgoing-further\u002Fbuilders","创建 Builder","了解 Nuxt builder 是如何工作的，以及如何编写你自己的 builder。",{"path":349,"title":350,"description":351},"\u002Fdocs\u002Fguide\u002Fgoing-further\u002Fdebugging","调试","在 Nuxt 中，你可以直接在浏览器中以及你的 IDE 里开始调试你的应用。",{"path":353,"title":354,"description":354},"\u002Fdocs\u002Fguide\u002Fgoing-further","",{"path":356,"title":357,"description":358},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fclient-only","\u003CClientOnly>","使用 \u003CClientOnly> 组件仅在客户端渲染组件。",{"path":360,"title":361,"description":362},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fdev-only","\u003CDevOnly>","使用 \u003CDevOnly> 组件仅在开发期间渲染组件。",{"path":364,"title":365,"description":366},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fnuxt-client-fallback","\u003CNuxtClientFallback>","Nuxt 提供了 \u003CNuxtClientFallback> 组件，当其任意子组件在 SSR 中触发错误时，在客户端渲染其内容",{"path":368,"title":369,"description":370},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fnuxt-picture","\u003CNuxtPicture>","Nuxt 提供了 \u003CNuxtPicture> 组件来处理自动图像优化。",{"path":372,"title":373,"description":374},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fteleports","\u003CTeleport>","\u003CTeleport> 组件将组件传送到 DOM 中的另一个位置。",{"path":376,"title":377,"description":378},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fnuxt-route-announcer","\u003CNuxtRouteAnnouncer>","\u003CNuxtRouteAnnouncer> 组件添加一个带有页面标题的隐藏元素，用于向辅助技术播报路由变化。",{"path":380,"title":381,"description":382},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fnuxt-time","\u003CNuxtTime>","\u003CNuxtTime> 组件以本地化友好的格式显示时间，并保持服务端-客户端一致。",{"path":384,"title":385,"description":386},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fnuxt-announcer","\u003CNuxtAnnouncer>","\u003CNuxtAnnouncer> 组件添加一个隐藏元素，用于向辅助技术播报动态内容变化。",{"path":388,"title":389,"description":390},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fnuxt-page","\u003CNuxtPage>","\u003CNuxtPage> 组件用于显示位于 pages\u002F 目录中的页面。",{"path":392,"title":393,"description":394},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fnuxt-layout","\u003CNuxtLayout>","Nuxt 提供了 \u003CNuxtLayout> 组件，用于在页面和错误页面上显示布局。",{"path":396,"title":397,"description":398},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fnuxt-link","\u003CNuxtLink>","Nuxt 提供了 \u003CNuxtLink> 组件来处理应用内的各类链接。",{"path":400,"title":401,"description":402},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fnuxt-loading-indicator","\u003CNuxtLoadingIndicator>","在页面导航之间显示进度条。",{"path":404,"title":405,"description":406},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fnuxt-error-boundary","\u003CNuxtErrorBoundary>","\u003CNuxtErrorBoundary> 组件处理其默认插槽中发生的客户端错误。",{"path":408,"title":409,"description":410},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fnuxt-welcome","\u003CNuxtWelcome>","\u003CNuxtWelcome> 组件用于欢迎通过启动模板创建的新项目的用户。",{"path":412,"title":413,"description":414},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fnuxt-island","\u003CNuxtIsland>","Nuxt 提供了 \u003CNuxtIsland> 组件，用于渲染无客户端 JS 的非交互式组件。",{"path":416,"title":417,"description":418},"\u002Fdocs\u002Fapi\u002Fcomponents\u002Fnuxt-img","\u003CNuxtImg>","Nuxt 提供了 \u003CNuxtImg> 组件来处理自动图像优化。",{"path":420,"title":421,"description":422},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fcreate-use-async-data","createUseAsyncData","一个工厂函数，用于创建带有预定义默认选项的自定义 useAsyncData 组合式函数。",{"path":424,"title":425,"description":426},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fcreate-use-fetch","createUseFetch","一个工厂函数，用于创建带有预定义默认选项的自定义 useFetch 组合式函数。",{"path":428,"title":429,"description":430},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fon-prehydrate","onPrehydrate","使用 onPrehydrate 在 Nuxt 对页面进行 hydration 之前的客户端立即运行回调。",{"path":432,"title":433,"description":434},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-announcer","useAnnouncer","一个用于向屏幕阅读器播报消息的组合式函数。",{"path":436,"title":437,"description":438},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-app-config","useAppConfig","访问在项目中定义的可响应 app config。",{"path":440,"title":441,"description":442},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-async-data","useAsyncData","useAsyncData 以 SSR 友好的方式提供对异步解析数据的访问。",{"path":444,"title":445,"description":446},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-cookie","useCookie","useCookie 是一个 SSR 友好的组合式函数，用于读写 cookie。",{"path":448,"title":449,"description":450},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-error","useError","useError 组合式函数返回正在被处理的全局 Nuxt 错误。",{"path":452,"title":453,"description":454},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-fetch","useFetch","使用 SSR 友好的组合式函数从 API 端点获取数据。",{"path":456,"title":457,"description":458},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-head","useHead","useHead 用于自定义 Nuxt 应用各个页面的 head 属性。",{"path":460,"title":461,"description":462},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-head-safe","useHeadSafe","处理用户输入时提供 head 数据的推荐方式。",{"path":464,"title":465,"description":466},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-hydration","useHydration","允许完全控制 hydration 周期，以便从服务端设置和接收数据。",{"path":468,"title":469,"description":470},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-layout","useLayout","useLayout 返回为当前路由解析出的布局。",{"path":472,"title":473,"description":474},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-lazy-async-data","useLazyAsyncData","该组合式函数包装 useAsyncData，会在 handler 解析之前立即触发导航。",{"path":476,"title":477,"description":478},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-lazy-fetch","useLazyFetch","该组合式函数是对 useFetch 的封装，会在 handler 解析之前立即触发导航。",{"path":480,"title":481,"description":482},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-loading-indicator","useLoadingIndicator","该组合式函数让你访问应用页面的加载状态。",{"path":484,"title":485,"description":486},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-nuxt-app","useNuxtApp","访问 Nuxt 应用的共享运行时上下文。",{"path":488,"title":489,"description":490},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-nuxt-data","useNuxtData","访问数据获取组合式函数的当前缓存值。",{"path":492,"title":493,"description":494},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-preview-mode","usePreviewMode","使用 usePreviewMode 检查并控制 Nuxt 的预览模式",{"path":496,"title":497,"description":498},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-request-event","useRequestEvent","使用 useRequestEvent 组合式函数访问传入的请求事件。",{"path":500,"title":501,"description":502},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-request-fetch","useRequestFetch","使用 useRequestFetch 组合式函数为服务端 fetch 请求转发请求上下文和请求头。",{"path":504,"title":505,"description":506},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-request-header","useRequestHeader","使用 useRequestHeader 访问某个特定的传入请求头。",{"path":508,"title":509,"description":510},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-request-headers","useRequestHeaders","使用 useRequestHeaders 访问传入的请求头。",{"path":512,"title":513,"description":514},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-request-url","useRequestURL","使用 useRequestURL 组合式函数访问传入的请求 URL。",{"path":516,"title":517,"description":518},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-response-header","useResponseHeader","使用 useResponseHeader 设置服务端响应头。",{"path":520,"title":521,"description":522},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-route","useRoute","useRoute 组合式函数返回当前路由。",{"path":524,"title":525,"description":526},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-route-announcer","useRouteAnnouncer","该组合式函数监视页面标题变化，并相应地更新播报消息。",{"path":528,"title":529,"description":530},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-router","useRouter","useRouter 组合式函数返回 router 实例。",{"path":532,"title":533,"description":534},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-runtime-config","useRuntimeConfig","使用 useRuntimeConfig 组合式函数访问运行时配置变量。",{"path":536,"title":537,"description":538},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-runtime-hook","useRuntimeHook","在 Nuxt 应用中注册一个运行时钩子，并确保在作用域销毁时被正确清理。",{"path":540,"title":541,"description":542},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-seo-meta","useSeoMeta","useSeoMeta 组合式函数让你可以将站点的 SEO meta 标签定义为一个扁平对象，并提供完整的 TypeScript 支持。",{"path":544,"title":545,"description":546},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-server-seo-meta","useServerSeoMeta","useServerSeoMeta 组合式函数让你可以将站点的 SEO meta 标签定义为一个扁平对象，并提供完整的 TypeScript 支持。",{"path":548,"title":549,"description":550},"\u002Fdocs\u002Fapi\u002Fcomposables\u002Fuse-state","useState","useState 组合式函数创建一个可响应的、SSR 友好的共享状态。",{"path":552,"title":553,"description":554},"\u002Fdocs\u002Fapi\u002Futils\u002Fdollarfetch","$fetch","Nuxt 使用 ofetch 全局暴露了 $fetch 辅助函数，用于发起 HTTP 请求。",{"path":556,"title":557,"description":558},"\u002Fdocs\u002Fapi\u002Futils\u002Fabort-navigation","abortNavigation","abortNavigation 是一个辅助函数，用于阻止导航的发生，并在设置了参数时抛出错误。",{"path":560,"title":561,"description":562},"\u002Fdocs\u002Fapi\u002Futils\u002Fadd-route-middleware","addRouteMiddleware","addRouteMiddleware() 是一个在你的应用中动态添加中间件的辅助函数。",{"path":564,"title":565,"description":566},"\u002Fdocs\u002Fapi\u002Futils\u002Fcall-once","callOnce","在 SSR 或 CSR 期间只运行一次给定的函数或代码块。",{"path":568,"title":569,"description":570},"\u002Fdocs\u002Fapi\u002Futils\u002Fclear-error","clearError","clearError 组合式函数清除所有已处理的错误。",{"path":572,"title":573,"description":574},"\u002Fdocs\u002Fapi\u002Futils\u002Fclear-nuxt-data","clearNuxtData","删除 useAsyncData 和 useFetch 的缓存数据、错误状态和挂起的 promise。",{"path":576,"title":577,"description":578},"\u002Fdocs\u002Fapi\u002Futils\u002Fclear-nuxt-state","clearNuxtState","删除 useState 的缓存状态。",{"path":580,"title":581,"description":582},"\u002Fdocs\u002Fapi\u002Futils\u002Fcreate-error","createError","创建一个带有附加元数据的错误对象。",{"path":584,"title":585,"description":586},"\u002Fdocs\u002Fapi\u002Futils\u002Fdefine-lazy-hydration-component","defineLazyHydrationComponent","使用特定策略定义一个懒加载 hydration 组件。",{"path":588,"title":589,"description":590},"\u002Fdocs\u002Fapi\u002Futils\u002Fdefine-nuxt-component","defineNuxtComponent","defineNuxtComponent() 是一个用于使用 Options API 定义类型安全组件的辅助函数。",{"path":592,"title":593,"description":594},"\u002Fdocs\u002Fapi\u002Futils\u002Fdefine-nuxt-plugin","defineNuxtPlugin","defineNuxtPlugin() 是一个用于创建 Nuxt 插件的辅助函数。",{"path":596,"title":597,"description":598},"\u002Fdocs\u002Fapi\u002Futils\u002Fdefine-nuxt-route-middleware","defineNuxtRouteMiddleware","使用 defineNuxtRouteMiddleware 辅助函数创建命名路由中间件。",{"path":600,"title":601,"description":602},"\u002Fdocs\u002Fapi\u002Futils\u002Fdefine-page-meta","definePageMeta","为你的页面组件定义元数据。",{"path":604,"title":605,"description":606},"\u002Fdocs\u002Fapi\u002Futils\u002Fdefine-route-rules","defineRouteRules","在页面层面定义用于混合渲染的路由规则。",{"path":608,"title":609,"description":610},"\u002Fdocs\u002Fapi\u002Futils\u002Fnavigate-to","navigateTo","navigateTo 是一个用于以编程方式导航用户的辅助函数。",{"path":612,"title":613,"description":614},"\u002Fdocs\u002Fapi\u002Futils\u002Fon-before-route-leave","onBeforeRouteLeave","onBeforeRouteLeave 组合式函数允许在组件内部注册一个路由守卫。",{"path":616,"title":617,"description":618},"\u002Fdocs\u002Fapi\u002Futils\u002Fon-before-route-update","onBeforeRouteUpdate","onBeforeRouteUpdate 组合式函数允许在组件内部注册一个路由守卫。",{"path":620,"title":621,"description":622},"\u002Fdocs\u002Fapi\u002Futils\u002Fon-nuxt-ready","onNuxtReady","onNuxtReady 组合式函数允许在你的应用完成初始化之后运行一个回调。",{"path":624,"title":625,"description":626},"\u002Fdocs\u002Fapi\u002Futils\u002Fprefetch-components","prefetchComponents","Nuxt 提供了用于在预取组件方面给予你控制的工具。",{"path":628,"title":629,"description":630},"\u002Fdocs\u002Fapi\u002Futils\u002Fpreload-components","preloadComponents","Nuxt 提供了用于在预加载组件方面给予你控制的工具。",{"path":632,"title":633,"description":634},"\u002Fdocs\u002Fapi\u002Futils\u002Fpreload-route-components","preloadRouteComponents","preloadRouteComponents 允许你手动预加载 Nuxt 应用中的单个页面。",{"path":636,"title":637,"description":638},"\u002Fdocs\u002Fapi\u002Futils\u002Fprerender-routes","prerenderRoutes","prerenderRoutes 向 Nitro 暗示预渲染一个额外的路由。",{"path":640,"title":641,"description":642},"\u002Fdocs\u002Fapi\u002Futils\u002Frefresh-cookie","refreshCookie","当 cookie 发生变化时，手动刷新 useCookie 的值",{"path":644,"title":645,"description":646},"\u002Fdocs\u002Fapi\u002Futils\u002Frefresh-nuxt-data","refreshNuxtData","刷新 Nuxt 中所有或特定的 asyncData 实例",{"path":648,"title":649,"description":650},"\u002Fdocs\u002Fapi\u002Futils\u002Freload-nuxt-app","reloadNuxtApp","reloadNuxtApp 会对页面执行一次硬刷新。",{"path":652,"title":653,"description":654},"\u002Fdocs\u002Fapi\u002Futils\u002Fset-page-layout","setPageLayout","setPageLayout 允许你动态更改页面的布局。",{"path":656,"title":657,"description":658},"\u002Fdocs\u002Fapi\u002Futils\u002Fset-response-status","setResponseStatus","setResponseStatus 设置响应的状态码（以及可选的 statusText）。",{"path":660,"title":661,"description":662},"\u002Fdocs\u002Fapi\u002Futils\u002Fshow-error","showError","Nuxt 提供了一种快速且简单的方式，在需要的时候显示全屏错误页。",{"path":664,"title":665,"description":666},"\u002Fdocs\u002Fapi\u002Futils\u002Fupdate-app-config","updateAppConfig","在运行时更新 App Config。",{"path":668,"title":669,"description":670},"\u002Fdocs\u002Fapi\u002Fcommands\u002Fadd","nuxt add","在你的 Nuxt 应用中快速搭建一个实体（文件）。",{"path":672,"title":673,"description":674},"\u002Fdocs\u002Fapi\u002Fcommands\u002Fanalyze","nuxt analyze","分析生产环境的打包产物或你的 Nuxt 应用。",{"path":676,"title":677,"description":678},"\u002Fdocs\u002Fapi\u002Fcommands\u002Fbuild","nuxt build","构建你的 Nuxt 应用。",{"path":680,"title":681,"description":682},"\u002Fdocs\u002Fapi\u002Fcommands\u002Fbuild-module","nuxt build-module","用于在发布前构建你的 Nuxt 模块的 Nuxt 命令。",{"path":684,"title":685,"description":686},"\u002Fdocs\u002Fapi\u002Fcommands\u002Fcleanup","nuxt cleanup","移除常见的 Nuxt 生成文件和缓存。",{"path":688,"title":689,"description":690},"\u002Fdocs\u002Fapi\u002Fcommands\u002Fdev","nuxt dev","dev 命令会在 http:\u002F\u002Flocalhost:3000 启动一个带有热模块替换（HMR）的开发服务器。",{"path":692,"title":693,"description":694},"\u002Fdocs\u002Fapi\u002Fcommands\u002Fdevtools","nuxt devtools","devtools 命令允许你基于每个项目启用或禁用 Nuxt DevTools。",{"path":696,"title":697,"description":698},"\u002Fdocs\u002Fapi\u002Fcommands\u002Fgenerate","nuxt generate","预渲染应用的每一个路由，并将结果存储为纯 HTML 文件。",{"path":700,"title":701,"description":702},"\u002Fdocs\u002Fapi\u002Fcommands\u002Finfo","nuxt info","info 命令会记录当前或指定 Nuxt 项目的相关信息。",{"path":704,"title":705,"description":706},"\u002Fdocs\u002Fapi\u002Fcommands\u002Finit","create nuxt","init 命令用于初始化一个全新的 Nuxt 项目。",{"path":708,"title":709,"description":710},"\u002Fdocs\u002Fapi\u002Fcommands\u002Fmodule","nuxt module","通过命令行搜索并向你的 Nuxt 应用添加模块。",{"path":712,"title":713,"description":714},"\u002Fdocs\u002Fapi\u002Fcommands\u002Fprepare","nuxt prepare","prepare 命令会在你的应用中创建一个 .nuxt 目录并生成类型。",{"path":716,"title":717,"description":718},"\u002Fdocs\u002Fapi\u002Fcommands\u002Fpreview","nuxt preview","preview 命令会启动一个服务器，用于在运行 build 命令后预览你的应用。",{"path":720,"title":721,"description":722},"\u002Fdocs\u002Fapi\u002Fcommands\u002Ftest","nuxt test","test 命令使用 @nuxt\u002Ftest-utils 运行测试。",{"path":724,"title":725,"description":726},"\u002Fdocs\u002Fapi\u002Fcommands\u002Ftypecheck","nuxt typecheck","typecheck 命令运行 vue-tsc 来全量检查你的应用类型。",{"path":728,"title":729,"description":730},"\u002Fdocs\u002Fapi\u002Fcommands\u002Fupgrade","nuxt upgrade","upgrade 命令将 Nuxt 升级到最新版本。",{"path":732,"title":733,"description":734},"\u002Fdocs\u002Fapi\u002Fkit\u002Fmodules","Modules","Nuxt Kit 提供了一系列工具，帮助你创建和使用模块。你可以使用这些工具来创建自己的模块，或复用已有的模块。",{"path":736,"title":737,"description":738},"\u002Fdocs\u002Fapi\u002Fkit\u002Fruntime-config","Runtime Config","Nuxt Kit 提供了一系列工具，帮助你访问和修改 Nuxt 运行时配置。",{"path":740,"title":741,"description":742},"\u002Fdocs\u002Fapi\u002Fkit\u002Ftemplates","Templates","Nuxt Kit 提供了一系列工具，帮助你处理模板。这些函数允许你在开发和构建期间生成额外的文件。",{"path":744,"title":745,"description":746},"\u002Fdocs\u002Fapi\u002Fkit\u002Fapp-config","App Config","Nuxt Kit 提供了一系列工具，帮助你访问和修改 Nuxt 应用配置。",{"path":748,"title":749,"description":750},"\u002Fdocs\u002Fapi\u002Fkit\u002Fnitro","Nitro","Nuxt Kit 提供了一系列工具，帮助你使用 Nitro。这些函数允许你添加服务器处理器、插件和预渲染路由。",{"path":752,"title":753,"description":754},"\u002Fdocs\u002Fapi\u002Fkit\u002Fresolving","Resolving","Nuxt Kit 提供了从 Nuxt 根目录或自定义基准路径解析路径的实用工具。",{"path":756,"title":757,"description":758},"\u002Fdocs\u002Fapi\u002Fkit\u002Flogging","Logging","Nuxt Kit 提供了一系列工具，帮助你使用日志记录。这些函数允许你以额外功能记录消息。",{"path":760,"title":761,"description":762},"\u002Fdocs\u002Fapi\u002Fkit\u002Fbuilder","Builder","Nuxt Kit 提供了一系列工具，帮助你使用构建器。这些函数允许你扩展 Vite 和 webpack 配置。",{"path":764,"title":765,"description":766},"\u002Fdocs\u002Fapi\u002Fkit\u002Fexamples","Examples","Nuxt Kit 工具的使用示例。",{"path":768,"title":58,"description":769},"\u002Fdocs\u002Fapi\u002Fkit\u002Flayers","Nuxt Kit 提供了帮助你处理层及其目录结构的工具。",{"path":771,"title":772,"description":773},"\u002Fdocs\u002Fapi\u002Fkit\u002Fprogrammatic","Programmatic Usage","Nuxt Kit 提供了一系列工具，帮助你以编程方式使用 Nuxt。这些函数允许你加载 Nuxt、构建 Nuxt，以及加载 Nuxt 配置。",{"path":775,"title":776,"description":777},"\u002Fdocs\u002Fapi\u002Fkit\u002Fcompatibility","Compatibility","Nuxt Kit 提供了一系列工具，帮助你检查模块与不同 Nuxt 版本的兼容性。",{"path":779,"title":780,"description":781},"\u002Fdocs\u002Fapi\u002Fkit\u002Fautoimports","Auto-imports","Nuxt Kit 提供了一系列工具，帮助你处理自动导入。这些函数允许你注册自己的 utils、composables 和 Vue API。",{"path":783,"title":784,"description":785},"\u002Fdocs\u002Fapi\u002Fkit\u002Fcomponents","Components","Nuxt Kit 提供了一系列工具，帮助你处理组件。你可以全局或局部注册组件，也可以添加要被扫描的目录。",{"path":787,"title":788,"description":789},"\u002Fdocs\u002Fapi\u002Fkit\u002Fcontext","Context","Nuxt Kit 提供了一系列工具，帮助你处理上下文。",{"path":791,"title":792,"description":793},"\u002Fdocs\u002Fapi\u002Fkit\u002Fpages","Pages","Nuxt Kit 提供了一系列工具，帮助你创建和使用页面。你可以使用这些工具来操作页面配置或定义路由规则。",{"path":795,"title":796,"description":797},"\u002Fdocs\u002Fapi\u002Fkit\u002Flayout","Layout","Nuxt Kit 提供了一系列工具，帮助你处理布局。",{"path":799,"title":800,"description":801},"\u002Fdocs\u002Fapi\u002Fkit\u002Fhead","Head","Nuxt Kit 提供了一系列工具，帮助你在模块中管理 head 配置。",{"path":803,"title":804,"description":805},"\u002Fdocs\u002Fapi\u002Fkit\u002Fplugins","Plugins","Nuxt Kit 提供了一系列工具，帮助你创建和使用插件。你可以使用这些函数向你的模块添加插件或插件模板。",{"path":807,"title":330,"description":808},"\u002Fdocs\u002Fapi\u002Fadvanced\u002Fhooks","Nuxt 提供了一套强大的钩子系统，可以通过钩子扩展几乎各个方面。",{"path":810,"title":811,"description":812},"\u002Fdocs\u002Fapi\u002Fadvanced\u002Fimport-meta","Import meta","使用 `import.meta` 了解你的代码运行在何处。",{"path":814,"title":815,"description":816},"\u002Fdocs\u002Fapi\u002Fnuxt-config","Nuxt 配置","发现你可以在 nuxt.config.ts 文件中使用的所有选项。",{"path":818,"title":819,"description":820},"\u002Fdocs\u002Fapi","Nuxt API 参考","探索所有 Nuxt 内部机制：组件、组合式函数、工具函数、命令等等。",{"path":822,"title":823,"description":824},"\u002Fdocs\u002Fcommunity\u002Fgetting-help","获取帮助","我们是一个友好的开发者社区，很乐意提供帮助。",{"path":826,"title":827,"description":828},"\u002Fdocs\u002Fcommunity\u002Freporting-bugs","报告 Bug","开源中最有价值的角色之一，就是花时间把 bug 报告得清楚明白。",{"path":830,"title":831,"description":832},"\u002Fdocs\u002Fcommunity\u002Fcontribution","贡献","Nuxt 是一个社区项目——因此我们欢迎各种形式的贡献！❤️",{"path":834,"title":835,"description":836},"\u002Fdocs\u002Fcommunity\u002Fframework-contribution","框架贡献","关于向框架仓库贡献的一些具体要点。",{"path":838,"title":839,"description":840},"\u002Fdocs\u002Fcommunity\u002Froadmap","路线图","Nuxt 在不断发展，新功能和模块一直在增加。",{"path":842,"title":843,"description":844},"\u002Fdocs\u002Fcommunity\u002Fchangelog","发布","发现 Nuxt 及 Nuxt 官方模块的最新发布。",{"path":846,"title":847,"description":848},"\u002Fdocs\u002Fbridge\u002Foverview","概述","缩小与 Nuxt 3 的差异，并减轻迁移到 Nuxt 3 的负担。",{"path":850,"title":14,"description":851},"\u002Fdocs\u002Fbridge\u002Fconfiguration","了解如何根据你的需求配置 Nuxt Bridge。",{"path":853,"title":222,"description":854},"\u002Fdocs\u002Fbridge\u002Ftypescript","了解如何在 Nuxt Bridge 中使用 TypeScript。",{"path":856,"title":857,"description":858},"\u002Fdocs\u002Fbridge\u002Fbridge-composition-api","旧版 Composition API","了解如何使用 Nuxt Bridge 迁移到 Composition API。",{"path":860,"title":861,"description":862},"\u002Fdocs\u002Fbridge\u002Fplugins-and-middleware","插件和中间件","了解如何从 Nuxt 2 迁移到 Nuxt Bridge 的新插件和中间件。",{"path":864,"title":865,"description":866},"\u002Fdocs\u002Fbridge\u002Fnuxt3-compatible-api","新的 Composition API","Nuxt Bridge 实现了与 Nuxt 3 兼容的组合式函数。",{"path":868,"title":869,"description":870},"\u002Fdocs\u002Fbridge\u002Fmeta","Meta 标签","了解如何从 Nuxt 2 迁移到 Nuxt Bridge 的新 meta 标签。",{"path":872,"title":322,"description":873},"\u002Fdocs\u002Fbridge\u002Fruntime-config","Nuxt 提供了一个运行时配置 API，用于在应用中暴露配置和密钥。",{"path":875,"title":749,"description":876},"\u002Fdocs\u002Fbridge\u002Fnitro","通过 Nuxt Bridge 为你的 Nuxt 2 应用激活 Nitro。",{"path":878,"title":879,"description":880},"\u002Fdocs\u002Fbridge\u002Fvite","Vite","通过 Nuxt Bridge 为你的 Nuxt 2 应用激活 Vite。",{"path":882,"title":847,"description":883},"\u002Fdocs\u002Fmigration\u002Foverview","Nuxt 3 是对 Nuxt 2 的完整重写，并且基于一套全新的底层技术。",{"path":885,"title":886,"description":887},"\u002Fdocs\u002Fmigration\u002Fbundling","构建工具","了解如何从 Nuxt 2 迁移到 Nuxt 3 的构建工具。",{"path":889,"title":890,"description":891},"\u002Fdocs\u002Fmigration\u002Fserver","服务器","了解如何从 Nuxt 2 迁移到 Nuxt 3 的服务器。",{"path":893,"title":14,"description":894},"\u002Fdocs\u002Fmigration\u002Fconfiguration","了解如何从 Nuxt 2 迁移到 Nuxt 3 的新配置。",{"path":896,"title":214,"description":897},"\u002Fdocs\u002Fmigration\u002Fmodule-authors","了解如何从 Nuxt 2 迁移到 Nuxt 3 模块。",{"path":899,"title":206,"description":900},"\u002Fdocs\u002Fmigration\u002Fauto-imports","Nuxt 3 采用最小摩擦的方式，即在任何可能的地方自动导入组件和组合式函数。",{"path":902,"title":869,"description":903},"\u002Fdocs\u002Fmigration\u002Fmeta","管理你的 meta 标签，从 Nuxt 2 到 Nuxt 3。",{"path":905,"title":861,"description":906},"\u002Fdocs\u002Fmigration\u002Fplugins-and-middleware","了解如何从 Nuxt 2 迁移到 Nuxt 3 的插件和中间件。",{"path":908,"title":909,"description":910},"\u002Fdocs\u002Fmigration\u002Fpages-and-layouts","页面和布局","了解如何从 Nuxt 2 迁移到 Nuxt 3 的页面和布局。",{"path":912,"title":913,"description":914},"\u002Fdocs\u002Fmigration\u002Fcomponent-options","组件选项","了解如何从 Nuxt 2 的组件选项迁移到 Nuxt 3 的组合式函数。",{"path":916,"title":322,"description":917},"\u002Fdocs\u002Fmigration\u002Fruntime-config","了解如何从 Nuxt 2 迁移到 Nuxt 3 的运行时配置。",{"path":919,"title":920,"description":921},"\u002Fdocs\u002Freadme","Nuxt 文档","本仓库包含 Nuxt 的文档，托管于 https:\u002F\u002Fnuxt.com\u002Fdocs\u002Fgetting-started\u002Fintroduction",{"path":923,"title":924,"description":925},"\u002Fdocs\u002Ferrors\u002Fb5001","NUXT_B5001","缺少 compatibilityDate (兼容性日期)",{"path":927,"title":928,"description":929},"\u002Fdocs\u002Ferrors\u002Fb5003","NUXT_B5003","保留的 runtimeConfig.app 命名空间",{"path":931,"title":932,"description":933},"\u002Fdocs\u002Ferrors\u002Fb5004","NUXT_B5004","不支持外部配置文件",{"path":935,"title":936,"description":937},"\u002Fdocs\u002Ferrors\u002Fe1001","NUXT_E1001","在 Nuxt 上下文之外调用了组合式函数。",{"path":939,"title":940,"description":941},"\u002Fdocs\u002Ferrors\u002Fe1006","NUXT_E1006","onPrehydrate 未被构建流水线处理。",{"path":943,"title":944,"description":945},"\u002Fdocs\u002Ferrors\u002Fe1007","NUXT_E1007","编译期提示辅助函数在运行时被调用。",{"path":947,"title":948,"description":949},"\u002Fdocs\u002Ferrors\u002Fe2001","NUXT_E2001","外部导航未设置 external: true。",{"path":951,"title":952,"description":953},"\u002Fdocs\u002Ferrors\u002Fe2002","NUXT_E2002","使用了危险协议的导航。",{"path":955,"title":956,"description":957},"\u002Fdocs\u002Ferrors\u002Fe2003","NUXT_E2003","abortNavigation() 在中间件之外被调用。",{"path":959,"title":960,"description":961},"\u002Fdocs\u002Ferrors\u002Fe2004","NUXT_E2004","未知的路由中间件。",{"path":963,"title":964,"description":965},"\u002Fdocs\u002Ferrors\u002Fe2005","NUXT_E2005","在中间件内调用了 useRoute。",{"path":967,"title":968,"description":969},"\u002Fdocs\u002Ferrors\u002Fe2007","NUXT_E2007","在组件中于服务端调用了 setPageLayout。",{"path":971,"title":972,"description":973},"\u002Fdocs\u002Ferrors\u002Fe3001","NUXT_E3001","useFetch 的请求 URL 以 \"\u002F\u002F\" 开头。",{"path":975,"title":976,"description":977},"\u002Fdocs\u002Ferrors\u002Fe3008","NUXT_E3008","useAsyncData 的 key 必须是非空字符串。",{"path":979,"title":980,"description":981},"\u002Fdocs\u002Ferrors\u002Fe3009","NUXT_E3009","useAsyncData 的处理函数必须是一个函数。",{"path":983,"title":984,"description":985},"\u002Fdocs\u002Ferrors\u002Fe4012","NUXT_E4012","无法解析 island（岛）响应。",{"path":987,"title":988,"description":989},"\u002Fdocs\u002Ferrors\u002Fe4016","NUXT_E4016","嵌套页面无法显示，因为其父页面没有渲染 \u003CNuxtPage \u002F>。",{"path":991,"title":992,"description":993},"\u002Fdocs\u002Ferrors\u002Fe5001","NUXT_E5001","应用清单（app manifest）未启用。",{"path":995,"title":996,"description":997},"\u002Fdocs\u002Ferrors\u002Fe6001","NUXT_E6001","缺少 Unhead 实例。",{"path":999,"title":1000,"description":1001},"\u002Fdocs\u002Ferrors\u002Fe7001","NUXT_E7001","Payload URL 包含主机名。",{"path":1003,"title":1004,"description":1005},"\u002Fdocs\u002Ferrors\u002Fe7007","NUXT_E7007","useState 的初始化值必须是一个函数。",{"path":1007,"title":1008,"description":1009},"\u002Fdocs\u002Ferrors\u002Fe7008","NUXT_E7008","callOnce 的 fn 必须是一个函数。",{"path":1011,"title":1012,"description":1013},"\u002Fdocs\u002Ferrors\u002Fe7009","NUXT_E7009","useState 的 key 必须是一个字符串。",{"path":1015,"title":1016,"description":1017},"\u002Fdocs\u002Ferrors\u002Fe7010","NUXT_E7010","callOnce 的 key 必须是一个字符串。",{"id":1019,"title":831,"body":1020,"description":832,"extension":2313,"meta":2314,"navigation":2315,"path":830,"seo":2316,"stem":2317,"__hash__":2318},"docs\u002Fdocs\u002F5.community\u002F4.contribution.md",{"type":1021,"value":1022,"toc":2274},"minimark",[1023,1027,1031,1034,1082,1085,1089,1104,1107,1110,1132,1141,1145,1148,1152,1159,1169,1172,1185,1188,1203,1226,1240,1249,1253,1261,1267,1270,1277,1280,1283,1287,1290,1293,1296,1299,1307,1311,1319,1323,1334,1338,1349,1352,1355,1367,1373,1377,1383,1386,1389,1392,1424,1427,1433,1436,1448,1455,1458,1495,1502,1515,1519,1534,1545,1573,1577,1593,1598,1613,1702,1706,1728,1731,1734,1740,1743,1746,1763,1766,1769,1772,1775,1778,1855,1858,1888,1891,1894,1939,1947,1950,2028,2031,2084,2087,2090,2093,2263,2270],[1024,1025,1026],"p",{},"你可以通过多种不同的方式为 Nuxt 生态做出贡献。",[1028,1029,1030],"h2",{"id":1030},"生态",[1024,1032,1033],{},"Nuxt 生态包含许多不同的项目和组织的：",[1035,1036,1037,1057,1074],"ul",{},[1038,1039,1040,1047,1048,1056],"li",{},[1041,1042,1046],"a",{"href":1043,"rel":1044},"https:\u002F\u002Fgithub.com\u002Fnuxt",[1045],"nofollow","nuxt\u002F"," - Nuxt 框架本身的核心仓库。",[1041,1049,1052],{"href":1050,"rel":1051},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt",[1045],[1053,1054,1055],"strong",{},"nuxt\u002Fnuxt"," 包含 Nuxt 框架（第 2 版和第 3 版）。",[1038,1058,1059,1064,1065,1068,1069,1073],{},[1041,1060,1063],{"href":1061,"rel":1062},"https:\u002F\u002Fgithub.com\u002Fnuxt-modules",[1045],"nuxt-modules\u002F"," - 由社区贡献和维护的模块与库。有一个",[1041,1066,1067],{"href":281},"将模块迁移","到 ",[1070,1071,1072],"code",{},"nuxt-modules"," 的流程。虽然这些模块有各自的维护者，但它们并不依赖某一个人。",[1038,1075,1076,1081],{},[1041,1077,1080],{"href":1078,"rel":1079},"https:\u002F\u002Fgithub.com\u002Funjs",[1045],"unjs\u002F"," - 这些库中许多都被广泛用于整个 Nuxt 生态。它们被设计为通用的库，与框架和环境无关。我们欢迎其他框架和项目进行贡献和使用。",[1028,1083,1084],{"id":1084},"如何贡献",[1086,1087,1088],"h3",{"id":1088},"分类问题并在讨论中提供帮助",[1024,1090,1091,1092,1097,1098,1103],{},"查看你想帮忙的项目的问题和讨论。例如，这里是 Nuxt 的",[1041,1093,1096],{"href":1094,"rel":1095},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Fissues",[1045],"问题看板","和",[1041,1099,1102],{"href":1100,"rel":1101},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Fdiscussions",[1045],"讨论","。帮助其他用户、分享变通方案、创建复现，甚至稍微深入排查一个 bug 并分享你的发现，都会带来巨大的不同。",[1086,1105,1106],{"id":1106},"创建问题",[1024,1108,1109],{},"感谢你花时间创建问题！❤️",[1035,1111,1112,1122],{},[1038,1113,1114,1117,1118,1121],{},[1053,1115,1116],{},"报告 bug","：在打开 issue 之前，请查看",[1041,1119,1120],{"href":826},"我们的指南","了解一些需要做的事情。",[1038,1123,1124,1127,1128,1131],{},[1053,1125,1126],{},"功能请求","：确认没有涵盖你想法范围内功能的现有 issue 或讨论。如果该功能是面向 Nuxt 生态的其他部分（例如某个模块），请考虑先在那里提出功能请求。如果你心中的功能比较通用，或者 API 还不完全清晰，可以考虑在 ",[1053,1129,1130],{},"Ideas"," 板块中开启一个讨论，先与社区讨论。",[1024,1133,1134,1135,1140],{},"在回应问题时，我们会尽力遵循",[1041,1136,1139],{"href":1137,"rel":1138},"https:\u002F\u002Fmermaid.live\u002Fview#pako:eNqFlE1v2zAMhv8K4UuToslhx2Bo0TZt12Edhm7YMCAXWqJtorLk6qOpkfS_j7KdfpyWQ-BQr8mHL6nsCuU0FauiMm6rGvQRfq03FuRzvvvTYIQHthpcBT_ugQNwPHuZjheLxf4i1VDx8x4udrf5EBCOQvSsYg4ffS79KS9pmX9QALTgyid2KYB7Ih-4bmKWbDk2YB0E1gRUVaRi-FDmmjAmT3u4nB3DmoNKIUA1BsGSohA49jnVMQhHbDh_EZQUImyxh-gAtfaiG-KWSJ-N8nt6YtpCdgEeE5rXPOdav5YwWJIJU7zrvNADV9C7JBIyIC07Wxupkx3LFQ5vCkguRno5f9fP2qnUko0Y2dk9rGdvHAa9IIhVGlCp5FFNPN-ce4DKeXBd53xMliOLp9IZtyORQVsnrGm-WJzejtUu5fFqdr5FGQ3bLslYvGthjZbJTLpReZG5_lLYw7XQ_CbPVT92ws9gnEJj-v84dk-PiaXnmF1XGAaPsOsMKywNvYmG80ZohV8k4wDR9_N3KN_dHm5mh1lnkM5FsYzRfNiTvJoT5gnQsl6uxjqXLhkNQ9syHJ0UZZ8ERUIlNShr6N8gZDEliR-ow7QZa0fhY4LoHLRo-8N7ZxPwjRj5ZZYXpvOSNs9v3Jjs8NXB4ets92xan3zydXZHvj64lKMayh4-gZC1bjASW2ipLeWuzIuToiXfImu5rbucclMIc0ubYiWPGv3DptjYF9Fhiu5nb1Wxij7RSZE6jZHWjLXHtlhVaIJESXN0_m68_sO_wMs_oO9gyg",[1045],"内部问题决策流程图","。",[1086,1142,1144],{"id":1143},"发起一个-pull-request","发起一个 Pull Request",[1024,1146,1147],{},"我们始终欢迎 Pull Request！❤️",[1149,1150,1151],"h4",{"id":1151},"开始之前",[1024,1153,1154,1155,1158],{},"在修复 bug 之前，我们建议你先确认",[1053,1156,1157],{},"是否有描述该问题的 issue","，因为它可能是文档问题，或者有一些有助于了解的背景信息。",[1024,1160,1161,1162,1165,1166,1140],{},"如果你在处理一个功能，我们要求你",[1053,1163,1164],{},"先开启一个功能请求 issue","，与维护者讨论该功能是否必要——以及这些功能的设计。这有助于节省维护者和贡献者的时间，让功能能够更快地发布。在通过 Pull Request 构建功能之前，该 issue ",[1053,1167,1168],{},"应得到确认",[1024,1170,1171],{},"对于错别字修复，建议将多个错别字修复合并到一个 Pull Request 中，以保持更干净的提交历史。",[1024,1173,1174,1175,1179,1180,1184],{},"对于 Nuxt 本身的较大改动，我们建议你先",[1041,1176,1178],{"href":1177},"\u002Fdocs\u002Fcommunity\u002Fcontribution#create-a-module","创建一个 Nuxt 模块","并在其中实现该功能。这样可以快速进行概念验证。然后你可以以讨论的形式",[1041,1181,1183],{"href":1182},"\u002Fdocs\u002Fcommunity\u002Fcontribution#make-an-rfc","创建 RFC","。随着用户采用它并收集反馈，它可以不断完善，并最终加入 Nuxt 核心，或者作为独立模块继续存在。",[1149,1186,1187],{"id":1187},"提交约定",[1024,1189,1190,1191,1196,1197,1202],{},"我们使用",[1041,1192,1195],{"href":1193,"rel":1194},"https:\u002F\u002Fwww.conventionalcommits.org",[1045],"约定式提交（Conventional Commits）","作为提交信息格式，这可以",[1041,1198,1201],{"href":1199,"rel":1200},"https:\u002F\u002Fgithub.com\u002Funjs\u002Fchangelogen",[1045],"根据提交自动生成变更日志","。如果你还不熟悉，请阅读该指南。",[1024,1204,1205,1206,1209,1210,1213,1214,1217,1218,1221,1222,1225],{},"注意 ",[1070,1207,1208],{},"fix:"," 和 ",[1070,1211,1212],{},"feat:"," 用于",[1053,1215,1216],{},"实际的代码更改","（可能影响逻辑）。对于错别字或文档更改，请改用 ",[1070,1219,1220],{},"docs:"," 或 ",[1070,1223,1224],{},"chore:","：",[1035,1227,1228],{},[1038,1229,1230,1236,1237],{},[1231,1232,1233],"del",{},[1070,1234,1235],{},"fix: typo"," -> ",[1070,1238,1239],{},"docs: fix typo",[1024,1241,1242,1243,1245,1246,1140],{},"如果你在像 ",[1070,1244,1055],{}," 这样的 monorepo 项目中工作，请确保用方括号指定提交的主要范围。例如：",[1070,1247,1248],{},"feat(kit): add 'addMagicStuff' utility",[1149,1250,1252],{"id":1251},"发起-pull-request","发起 Pull Request",[1024,1254,1255,1256,1140],{},"如果你不知道如何发送 Pull Request，我们建议阅读",[1041,1257,1260],{"href":1258,"rel":1259},"https:\u002F\u002Fdocs.github.com\u002Fen\u002Fpull-requests\u002Fcollaborating-with-pull-requests\u002Fproposing-changes-to-your-work-with-pull-requests\u002Fcreating-a-pull-request",[1045],"该指南",[1024,1262,1263,1264,1140],{},"发送 Pull Request 时，请确保 PR 的标题也遵循",[1041,1265,1187],{"href":1266},"\u002Fdocs\u002Fcommunity\u002Fcontribution#commit-conventions",[1024,1268,1269],{},"如果你的 PR 修复或解决了现有问题，请确保在 PR 描述中提及它们。",[1024,1271,1272,1273,1276],{},"在一个 PR 中包含多个提交是可以的；你不需要为你的更改做 rebase 或 force push，因为我们会在合并时使用 ",[1070,1274,1275],{},"Squash and Merge"," 将提交压缩为一个。",[1024,1278,1279],{},"我们没有添加任何提交钩子，以便快速提交。但在你发起 Pull Request 之前，你应该确保任何 lint\u002F测试脚本都能通过。",[1024,1281,1282],{},"一般而言，也请确保 PR 中没有_不相关_的更改。例如，如果你的编辑器对你编辑的文件的其他地方做了任何空白或格式上的更改，请还原这些更改，以便更清楚地看出你的 PR 改了什么。并且请避免在单个 PR 中包含多个不相关的功能或修复。如果可以分开，最好有多个 PR 分别审查和合并。一般来说，一个 PR 应该_只做一件事_。",[1149,1284,1286],{"id":1285},"发起-pull-request-之后","发起 Pull Request 之后",[1024,1288,1289],{},"一旦你发起了 Pull Request，我们会尽力及时审查它。",[1024,1291,1292],{},"如果我们把它分配给某位维护者，意味着这个人会特别用心地审查它，并实施任何所需的更改。",[1024,1294,1295],{},"如果我们在 PR 上请求更改，请忽略那些红色文字！这并不意味着我们认为这是个糟糕的 PR——它只是一种能一眼看出一组 Pull Request 状态的方式。",[1024,1297,1298],{},"如果我们把一个 PR 标记为“pending”（待定），意味着我们在审查该 PR 时可能还有另一个任务要完成——这是一个内部的自我提醒，并不一定是关于该 PR 是否是个好主意的反映。我们会尽力通过评论解释处于待定状态的原因。",[1024,1300,1301,1302,1140],{},"在回应和审查 Pull Request 时，我们会尽力遵循",[1041,1303,1306],{"href":1304,"rel":1305},"https:\u002F\u002Fmermaid.live\u002Fview#pako:eNp9VE1v2kAQ_SsjXzBSEqlALlaUisSh0ACK2l4qcVm8Y9hi7672Iwly-O-ZtYPt5FAOCHbee_PmzdpVlCmOURLlhXrJ9sw4-JNuJNBnWs1UQafIQVjrERyWumAOv58-AJeXt29_0b7BXbWwwL0uRPa1vlZvcB_fF8oiMMmB2QM4BXkt3UoON7Lh3LWaDz2SVkK6QGt7DHvw0CKt5sxCKaQoWQEGtVHcZ04oGdw04LTVngW_LHOeFcURGGz97mw6PSv-iJdsi0UCA4nI7SfNwc3W3JZit3eQ1SZFDlKB15yswQ2MgbOjbYeatY3n8bcr-IWlekYYaJRcyB04I9gOB1CEfkF5dAVTzmFAtnqn4-bUYAiMMmHZgWhNPRhgus5mW2BATxq0NkIZ4Y4NbNjzE2ZchBzcHmGLe_ZMSKCcyRXyLrVFa_5n_PBK2xKy3kk9eOjULUdltk6C8kI-7NFDr8f4EVGDoqlp-wa4sJm3ltIMIuZ_mTQXJyTSkQZtunPqsKxShV9GKdkBYe1fHXjpbcjlvONlO9Kqx_M7YHmOmav_luxfE5zKwVs09hM5DLSupgYDlr5flDkwo7ykixKG-xDsUly1LZ-uY32dgDc7lG7YqwbNp0msJwmIUivjWFtfd-xRrEcJ7Omydz37qFplHOtxEp4GskI2qB5dRCWakglOz3oV8JuITJa4iRL6yZk5bKKNPBGOead-H2UWJc54vIiaW53SPgwrz4fIhVNm1bw76lfI6R2_MW21",[1045],"我们的 PR 决策流程图",[1086,1308,1310],{"id":1309},"ai-辅助贡献","AI 辅助贡献",[1024,1312,1313,1314,1140],{},"我们欢迎在贡献 Nuxt 时经过深思熟虑地使用 AI 工具，但要求所有贡献者遵循",[1041,1315,1318],{"href":1316,"rel":1317},"https:\u002F\u002Froe.dev\u002Fblog\u002Fusing-ai-in-open-source",[1045],"两条核心原则",[1149,1320,1322],{"id":1321},"绝不要让-llm-替你发言","绝不要让 LLM 替你发言",[1035,1324,1325,1328,1331],{},[1038,1326,1327],{},"所有评论、issue 和 Pull Request 描述都应该用你自己的声音来写",[1038,1329,1330],{},"我们重视清晰、人性化的沟通，胜过完美的语法或拼写",[1038,1332,1333],{},"避免复制粘贴不能反映你自身理解的 AI 生成摘要",[1149,1335,1337],{"id":1336},"绝不要让-llm-替你思考","绝不要让 LLM 替你思考",[1035,1339,1340,1343,1346],{},[1038,1341,1342],{},"可以随意使用 AI 工具生成代码或探索想法",[1038,1344,1345],{},"只提交你完全理解并能解释的贡献",[1038,1347,1348],{},"贡献应反映你自己的推理和问题解决过程",[1024,1350,1351],{},"我们的目标是确保质量，并维护与真实的人协作和沟通的乐趣。如果你对改进我们在 Nuxt 社区中有关 AI 的政策有想法，我们很乐意听听！❤️",[1086,1353,1354],{"id":1354},"创建一个模块",[1024,1356,1357,1358,1361,1362,1366],{},"如果你用 Nuxt 构建了某个很酷的东西，为什么不",[1041,1359,1360],{"href":285},"把它提取成一个模块","，以便与他人分享？我们已经有",[1041,1363,1365],{"href":1364},"\u002Fmodules","许多优秀的模块","，但总还有空间容纳更多。",[1024,1368,1369,1370,1140],{},"如果在构建过程中需要帮助，欢迎随时",[1041,1371,1372],{"href":822},"与我们联系",[1086,1374,1376],{"id":1375},"创建一个-rfc","创建一个 RFC",[1024,1378,1379,1380,1382],{},"我们强烈建议先",[1041,1381,1354],{"href":1177},"来测试重大的新功能并获得社区采用。",[1024,1384,1385],{},"如果你已经这样做过，或者不适合创建新模块，那么请先开启一个新的讨论。确保尽可能清晰地解释你的想法。包含新 API 的代码示例或函数签名。用示例引用现有的问题或痛点。",[1024,1387,1388],{},"如果我们认为这应该是一个 RFC，我们会将其类别更改为 RFC，并更广泛地传播以收集反馈。",[1024,1390,1391],{},"一个 RFC 随后会经历以下几个阶段：",[1035,1393,1394,1400,1406,1412,1418],{},[1038,1395,1396,1399],{},[1070,1397,1398],{},"rfc: active"," - 当前开放评论",[1038,1401,1402,1405],{},[1070,1403,1404],{},"rfc: approved"," - 已获 Nuxt 团队批准",[1038,1407,1408,1411],{},[1070,1409,1410],{},"rfc: ready to implement"," - 已创建 issue 并分配实施",[1038,1413,1414,1417],{},[1070,1415,1416],{},"rfc: shipped"," - 已实现",[1038,1419,1420,1423],{},[1070,1421,1422],{},"rfc: archived"," - 未获批准，但已存档以备将来参考",[1086,1425,1426],{"id":1426},"生态约定",[1024,1428,1429,1430,1432],{},"以下约定在 ",[1070,1431,1046],{}," 组织内是_必需_的，并推荐给生态中的其他维护者。",[1149,1434,1435],{"id":1435},"模块约定",[1024,1437,1438,1439,1444,1445,1140],{},"模块应遵循",[1041,1440,1443],{"href":1441,"rel":1442},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fstarter\u002Ftree\u002Fmodule",[1045],"Nuxt 模块模板","。更多相关信息请参阅",[1041,1446,1447],{"href":285},"模块指南",[1149,1449,1451,1452,1454],{"id":1450},"使用核心-unjs-库","使用核心 ",[1070,1453,1080],{}," 库",[1024,1456,1457],{},"我们推荐以下在整个生态中使用的库：",[1035,1459,1460,1472,1480,1488],{},[1038,1461,1462,1467,1468,1471],{},[1041,1463,1466],{"href":1464,"rel":1465},"https:\u002F\u002Fgithub.com\u002Funjs\u002Fpathe",[1045],"pathe"," - 通用路径工具（node ",[1070,1469,1470],{},"path"," 的替代品）",[1038,1473,1474,1479],{},[1041,1475,1478],{"href":1476,"rel":1477},"https:\u002F\u002Fgithub.com\u002Funjs\u002Fufo",[1045],"ufo"," - URL 解析与拼接工具",[1038,1481,1482,1487],{},[1041,1483,1486],{"href":1484,"rel":1485},"https:\u002F\u002Fgithub.com\u002Funjs\u002Fobuild",[1045],"obuild"," - 由 rolldown 驱动构建系统",[1038,1489,1490,1491,1494],{},"... 查看 ",[1041,1492,1080],{"href":1078,"rel":1493},[1045]," 组织的其余部分，还有更多！",[1149,1496,1498,1499],{"id":1497},"使用-esm-语法并默认-type-module","使用 ESM 语法并默认 ",[1070,1500,1501],{},"type: module",[1024,1503,1504,1505,1209,1508,1511,1512,1140],{},"Nuxt 生态的大部分都可以直接消费 ESM。总体上我们主张避免使用 CJS 特定代码，例如 ",[1070,1506,1507],{},"__dirname",[1070,1509,1510],{},"require"," 语句。你可以",[1041,1513,1514],{"href":217},"阅读更多关于 ESM 的内容",[1149,1516,1518],{"id":1517},"什么是-corepack","什么是 Corepack",[1024,1520,1521,1526,1527,1529,1530,1533],{},[1041,1522,1525],{"href":1523,"rel":1524},"https:\u002F\u002Fgithub.com\u002Fnodejs\u002Fcorepack",[1045],"Corepack"," 确保你在运行相应命令时使用正确版本的包管理器。项目可能在 ",[1070,1528,178],{}," 中包含 ",[1070,1531,1532],{},"packageManager"," 字段。",[1024,1535,1536,1537,1540,1541,1544],{},"在配置如下的项目中，Corepack 将安装 ",[1070,1538,1539],{},"pnpm"," 的 ",[1070,1542,1543],{},"v7.5.0","（如果你还没有的话）并用它来运行你的命令。",[1546,1547,1551],"pre",{"className":1548,"code":1549,"filename":178,"language":1550,"meta":354,"style":354},"language-jsonc shiki shiki-themes material-theme-lighter github-dark material-theme-palenight","{\n  \"packageManager\": \"pnpm@7.5.0\"\n}\n","jsonc",[1070,1552,1553,1561,1567],{"__ignoreMap":354},[1554,1555,1558],"span",{"class":1556,"line":1557},"line",1,[1554,1559,1560],{},"{\n",[1554,1562,1564],{"class":1556,"line":1563},2,[1554,1565,1566],{},"  \"packageManager\": \"pnpm@7.5.0\"\n",[1554,1568,1570],{"class":1556,"line":1569},3,[1554,1571,1572],{},"}\n",[1149,1574,1576],{"id":1575},"使用-eslint","使用 ESLint",[1024,1578,1579,1580,1585,1586,1140],{},"我们使用 ",[1041,1581,1584],{"href":1582,"rel":1583},"https:\u002F\u002Feslint.org",[1045],"ESLint"," 进行 lint 和格式化，配合 ",[1041,1587,1590],{"href":1588,"rel":1589},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Feslint",[1045],[1070,1591,1592],{},"@nuxt\u002Feslint",[1594,1595,1597],"h5",{"id":1596},"ide-配置","IDE 配置",[1024,1599,1600,1601,1606,1607,1612],{},"我们推荐使用 ",[1041,1602,1605],{"href":1603,"rel":1604},"https:\u002F\u002Fcode.visualstudio.com",[1045],"VS Code"," 以及 ",[1041,1608,1611],{"href":1609,"rel":1610},"https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=dbaeumer.vscode-eslint",[1045],"ESLint 扩展","。如果你愿意，可以在保存正在编辑的代码时启用自动修复和格式化：",[1546,1614,1619],{"className":1615,"code":1616,"filename":1617,"language":1618,"meta":354,"style":354},"language-json shiki shiki-themes material-theme-lighter github-dark material-theme-palenight","{\n  \"editor.codeActionsOnSave\": {\n    \"source.fixAll\": \"never\",\n    \"source.fixAll.eslint\": \"explicit\"\n  }\n}\n","settings.json","json",[1070,1620,1621,1626,1645,1671,1691,1697],{"__ignoreMap":354},[1554,1622,1623],{"class":1556,"line":1557},[1554,1624,1560],{"class":1625},"sF54B",[1554,1627,1628,1632,1636,1639,1642],{"class":1556,"line":1563},[1554,1629,1631],{"class":1630},"s0q4w","  \"",[1554,1633,1635],{"class":1634},"sS9nB","editor.codeActionsOnSave",[1554,1637,1638],{"class":1630},"\"",[1554,1640,1641],{"class":1625},":",[1554,1643,1644],{"class":1625}," {\n",[1554,1646,1647,1650,1654,1656,1658,1662,1666,1668],{"class":1556,"line":1569},[1554,1648,1649],{"class":1630},"    \"",[1554,1651,1653],{"class":1652},"seQRr","source.fixAll",[1554,1655,1638],{"class":1630},[1554,1657,1641],{"class":1625},[1554,1659,1661],{"class":1660},"s0jeK"," \"",[1554,1663,1665],{"class":1664},"s-Aze","never",[1554,1667,1638],{"class":1660},[1554,1669,1670],{"class":1625},",\n",[1554,1672,1674,1676,1679,1681,1683,1685,1688],{"class":1556,"line":1673},4,[1554,1675,1649],{"class":1630},[1554,1677,1678],{"class":1652},"source.fixAll.eslint",[1554,1680,1638],{"class":1630},[1554,1682,1641],{"class":1625},[1554,1684,1661],{"class":1660},[1554,1686,1687],{"class":1664},"explicit",[1554,1689,1690],{"class":1660},"\"\n",[1554,1692,1694],{"class":1556,"line":1693},5,[1554,1695,1696],{"class":1625},"  }\n",[1554,1698,1700],{"class":1556,"line":1699},6,[1554,1701,1572],{"class":1625},[1149,1703,1705],{"id":1704},"不使用-prettier","不使用 Prettier",[1024,1707,1708,1709,1712,1713,1712,1716,1221,1719,1722,1723,1727],{},"由于 ESLint 已经配置为格式化代码，无需再用 Prettier 重复该功能。要格式化代码，你可以运行 ",[1070,1710,1711],{},"yarn lint --fix","、",[1070,1714,1715],{},"pnpm lint --fix",[1070,1717,1718],{},"bun run lint --fix",[1070,1720,1721],{},"deno run lint --fix","，或参考",[1041,1724,1726],{"href":1725},"\u002Fdocs\u002Fcommunity\u002Fcontribution#use-eslint","ESLint 部分","了解 IDE 配置。",[1024,1729,1730],{},"如果你在编辑器中安装了 Prettier，我们建议你在处理该项目时禁用它，以避免冲突。",[1149,1732,1733],{"id":1733},"包管理器",[1024,1735,1736,1737,1739],{},"我们推荐将 ",[1070,1738,1539],{}," 作为模块、库和应用的包管理器。",[1024,1741,1742],{},"启用 Corepack 以确保你使用的包管理器版本与项目一致，这一点很重要。Corepack 内置于新版本的 Node.js 中，可实现无缝的包管理器集成。",[1024,1744,1745],{},"要启用它，运行：",[1546,1747,1752],{"className":1748,"code":1749,"filename":1750,"language":1751,"meta":354,"style":354},"language-bash shiki shiki-themes material-theme-lighter github-dark material-theme-palenight","corepack enable\n","Terminal","bash",[1070,1753,1754],{"__ignoreMap":354},[1554,1755,1756,1760],{"class":1556,"line":1557},[1554,1757,1759],{"class":1758},"sJK67","corepack",[1554,1761,1762],{"class":1664}," enable\n",[1024,1764,1765],{},"你只需要在电脑上安装 Node.js 后做一次即可。",[1028,1767,1768],{"id":1768},"文档风格指南",[1024,1770,1771],{},"文档是 Nuxt 的重要组成部分。我们的目标是成为一个直观的框架——其中很大一部分就是确保整个生态中的开发者体验和文档都尽可能完美。👌",[1024,1773,1774],{},"以下是一些可能有助于改进你文档的提示：",[1086,1776,1777],{"id":1777},"语言",[1035,1779,1780,1803],{},[1038,1781,1782,1783,1786,1787,1791,1792,1795,1796,1791,1799,1802],{},"使用",[1053,1784,1785],{},"美式英语","拼写（",[1788,1789,1790],"em",{},"behavior"," 而非 ",[1788,1793,1794],{},"behaviour","，",[1788,1797,1798],{},"customize",[1788,1800,1801],{},"customise","）。",[1038,1804,1805,1806,1791,1809,1795,1812,1791,1814,1795,1817,1791,1819,1822,1823,1830,1839],{},"工具名和项目名使用其官方大小写，即使 npm 包名是小写（例如，",[1788,1807,1808],{},"PostCSS",[1788,1810,1811],{},"postcss",[1788,1813,879],{},[1788,1815,1816],{},"vite",[1788,1818,1584],{},[1788,1820,1821],{},"eslint","）。仅在指代包本身（例如安装说明中）时才在反引号中使用小写 npm 包名。",[1824,1825,1827],"caution",{"icon":1826},"i-lucide-circle-x",[1024,1828,1829],{},"Nuxt supports postcss out of the box.",[1831,1832,1834],"tip",{"icon":1833},"i-lucide-circle-check",[1024,1835,1836,1837,1140],{},"Nuxt 开箱即用地支持 PostCSS。你无需手动安装 ",[1070,1838,1811],{},[1840,1841,1842],"note",{},[1024,1843,1844,1845,1848,1849,1854],{},"常见工具名的大小写会在你运行 ",[1070,1846,1847],{},"pnpm lint:docs"," 时由 ",[1041,1850,1853],{"href":1851,"rel":1852},"https:\u002F\u002Fgithub.com\u002Fantfu\u002Fcase-police",[1045],"case police"," 自动检查。",[1086,1856,1857],{"id":1857},"标题",[1035,1859,1860,1879],{},[1038,1861,1862,1863,1868,1869,1874],{},"按照芝加哥标题大小写（Chicago title case）对标题进行首字母大写。简而言之：大写第一个词、最后一个词以及所有主要词（名词、动词、形容词、副词、代词）；小写冠词、并列连词和介词，无论长短（例如 a、and、or、with、from、to）。如有疑问，",[1041,1864,1867],{"href":1865,"rel":1866},"https:\u002F\u002Fcapitalizemytitle.com\u002Fstyle\u002FChicago",[1045],"capitalizemytitle.com"," 可以提供帮助。",[1824,1870,1871],{"icon":1826},[1024,1872,1873],{},"How to contribute to the docs",[1831,1875,1876],{"icon":1833},[1024,1877,1878],{},"How to Contribute to the Docs",[1038,1880,1881,1882,1802],{},"标题中的代码保持原有大小写，不计入首字母大写（例如 ",[1788,1883,1884,1885,1887],{},"Using ",[1070,1886,453],{}," in Components",[1086,1889,1890],{"id":1890},"行内代码",[1024,1892,1893],{},"将以下内容用反引号包裹，以便它们渲染为行内代码：",[1035,1895,1896,1904,1912,1923,1933],{},[1038,1897,1898,1899,1712,1901],{},"文件名和路径：",[1070,1900,174],{},[1070,1902,1903],{},"server\u002Fapi\u002F",[1038,1905,1906,1907,1712,1910],{},"npm 包名：",[1070,1908,1909],{},"@nuxt\u002Fkit",[1070,1911,1811],{},[1038,1913,1914,1915,1918,1919,1922],{},"配置键、选项和值：",[1070,1916,1917],{},"ssr: false","、the ",[1070,1920,1921],{},"css"," 选项",[1038,1924,1925,1926,1712,1928,1712,1930],{},"代码标识符，如函数、组合式函数、组件、变量和类型：",[1070,1927,453],{},[1070,1929,397],{},[1070,1931,1932],{},"defineNuxtConfig",[1038,1934,1935,1936],{},"终端命令：",[1070,1937,1938],{},"npx nuxt init",[1024,1940,1941,1942,1944,1945,1802],{},"工具、项目或一般概念的名称不要使用反引号（提及工具时用 ",[1788,1943,879],{},"，而不是 ",[1070,1946,1816],{},[1086,1948,1949],{"id":1949},"代码示例",[1035,1951,1952,2021],{},[1038,1953,1954,1955,1140,1958],{},"为代码块添加文件名，以便读者知道代码属于哪里。如果代码不属于某个特定文件（例如 shell 命令），请使用描述性标签如 ",[1070,1956,1957],{},"[Terminal]",[1546,1959,1963],{"className":1960,"code":1961,"language":1962,"meta":354,"style":354},"language-markdown shiki shiki-themes material-theme-lighter github-dark material-theme-palenight","```ts [nuxt.config.ts]\nexport default defineNuxtConfig({\n  ssr: false,\n})\n```\n","markdown",[1070,1964,1965,1975,1994,2008,2016],{"__ignoreMap":354},[1554,1966,1967,1971],{"class":1556,"line":1557},[1554,1968,1970],{"class":1969},"ssOTe","```",[1554,1972,1974],{"class":1973},"sHXSO","ts [nuxt.config.ts]\n",[1554,1976,1977,1981,1984,1988,1992],{"class":1556,"line":1563},[1554,1978,1980],{"class":1979},"szyBz","export",[1554,1982,1983],{"class":1979}," default",[1554,1985,1987],{"class":1986},"srJn9"," defineNuxtConfig",[1554,1989,1991],{"class":1990},"smVNa","(",[1554,1993,1560],{"class":1625},[1554,1995,1996,2000,2002,2006],{"class":1556,"line":1569},[1554,1997,1999],{"class":1998},"sOtFm","  ssr",[1554,2001,1641],{"class":1625},[1554,2003,2005],{"class":2004},"si1Qm"," false",[1554,2007,1670],{"class":1625},[1554,2009,2010,2013],{"class":1556,"line":1673},[1554,2011,2012],{"class":1625},"}",[1554,2014,2015],{"class":1990},")\n",[1554,2017,2018],{"class":1556,"line":1693},[1554,2019,2020],{"class":1969},"```\n",[1038,2022,2023,2024,2027],{},"使示例可复制粘贴。包含必要的导入，并避免读者会粘贴到自己项目中的代码中间出现 ",[1070,2025,2026],{},"..."," 这样的占位符。读者应该能够将示例复制到他们的项目中，并只需极少改动即可运行。",[1086,2029,2030],{"id":2030},"链接",[1035,2032,2033,2041],{},[1038,2034,2035,2036,1944,2038,1140],{},"链接到其他文档页面时，使用不带域名的相对路径：",[1070,2037,9],{},[1070,2039,2040],{},"https:\u002F\u002Fnuxt.com\u002Fdocs\u002Fgetting-started\u002Finstallation",[1038,2042,2043,2044,2076,2079,2080,2083],{},"链接到外部资源时，链接到最终 URL，而不是会重定向的 URL。你可以用以下方式检查：",[1546,2045,2047],{"className":1748,"code":2046,"filename":1750,"language":1751,"meta":354,"style":354},"curl -sILo \u002Fdev\u002Fnull -w '%{http_code} %{url_effective}\\n' https:\u002F\u002Fexample.com\u002Fsome-page\n",[1070,2048,2049],{"__ignoreMap":354},[1554,2050,2051,2054,2058,2061,2064,2067,2070,2073],{"class":1556,"line":1557},[1554,2052,2053],{"class":1758},"curl",[1554,2055,2057],{"class":2056},"supr-"," -sILo",[1554,2059,2060],{"class":1664}," \u002Fdev\u002Fnull",[1554,2062,2063],{"class":2056}," -w",[1554,2065,2066],{"class":1660}," '",[1554,2068,2069],{"class":1664},"%{http_code} %{url_effective}\\n",[1554,2071,2072],{"class":1660},"'",[1554,2074,2075],{"class":1664}," https:\u002F\u002Fexample.com\u002Fsome-page\n",[2077,2078],"br",{},"这会跟随任何重定向链并打印最终的状态和 URL。返回 ",[1070,2081,2082],{},"200"," 状态且 URL 为你请求的地址，意味着链接没有问题。如果最终 URL 不同，则链接到那个地址。",[1086,2085,2086],{"id":2086},"语气",[1024,2088,2089],{},"我们追求友好而专业的语气。直接对读者说话（“你”），简洁明了，并假定善意：读者来自不同的背景和经验水平，因此避免使用可能让人感到被居高临下对待的语言。可以温暖一些——文档可以有人情味——但清晰始终是第一位的。",[1086,2091,2092],{"id":2092},"写作风格",[1035,2094,2095,2126,2144,2196],{},[1038,2096,2097,2098,1712,2101,1712,2104,2107,2108,2110,2111,2116],{},"尽可能避免使用 ",[1788,2099,2100],{},"simply",[1788,2102,2103],{},"just",[1788,2105,2106],{},"obviously..."," 等主观词汇。",[2077,2109],{},"请记住，你的读者可能有着不同的背景和经验。因此，这些词并不能传达意义，反而可能有害。",[1824,2112,2113],{"icon":1826},[1024,2114,2115],{},"Simply make sure the function returns a promise.",[1831,2117,2118],{"icon":1833},[1024,2119,2120,2121,1140],{},"确保该函数返回一个 ",[1041,2122,2125],{"href":2123,"rel":2124},"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FJavaScript\u002FReference\u002FGlobal_Objects\u002FPromise",[1045],"promise",[1038,2127,2128,2129,1140,2134,2139],{},"偏好",[1041,2130,2133],{"href":2131,"rel":2132},"https:\u002F\u002Fdevelopers.google.com\u002Ftech-writing\u002Fone\u002Factive-voice",[1045],"主动语态",[1824,2135,2136],{"icon":1826},[1024,2137,2138],{},"An error will be thrown by Nuxt.",[1831,2140,2141],{"icon":1833},[1024,2142,2143],{},"Nuxt 将抛出一个错误。",[1038,2145,2146,2147,2180,2182,2183,2186,2187,2190,2191,2186,2194,1140],{},"在记录 API 页面（包括组合式函数、工具和组件）时，使用一致的章节名称和顺序。只包含适用的章节：",[2148,2149,2150,2156,2162,2168,2174],"ol",{},[1038,2151,2152,2155],{},[1053,2153,2154],{},"Usage（用法）","：解释如何使用该 API，并涵盖常见用例。",[1038,2157,2158,2161],{},[1053,2159,2160],{},"Type（类型）","：提供相关的 TypeScript 声明。",[1038,2163,2164,2167],{},[1053,2165,2166],{},"Parameters（参数）","：描述每个输入，包括其类型、默认值和可用选项。",[1038,2169,2170,2173],{},[1053,2171,2172],{},"Return Values（返回值）","：描述返回的值及其类型。",[1038,2175,2176,2179],{},[1053,2177,2178],{},"Example（示例）","：展示一个实际示例。",[2077,2181],{},"使用这些确切的章节名称。例如，使用 ",[1070,2184,2185],{},"Parameters"," 而不是 ",[1070,2188,2189],{},"Params","，使用 ",[1070,2192,2193],{},"Example",[1070,2195,765],{},[1038,2197,2198,2199,2202,2203,2205,2206,2246,2248,2249,1712,2252,2257,2258,1140],{},"在记录 API 页面（组合式函数、工具、组件）时，当引入某个功能或工具时，添加",[1053,2200,2201],{},"最低 Nuxt 版本","，以便读者知道他们需要哪个版本。",[2077,2204],{},"使用两级：",[1035,2207,2208,2228],{},[1038,2209,2210,2213,2214,2217,2218,2221,2222,1712,2225,1802],{},[1053,2211,2212],{},"全局（整个页面）","：在 frontmatter 中添加 ",[1070,2215,2216],{},"minimalVersion: \"3.9\"","（不带 “v” 前缀）。文档布局会根据该字段自动渲染版本徽章，显示为 ",[1070,2219,2220],{},"vX.Y","（例如 ",[1070,2223,2224],{},"v3.9",[1070,2226,2227],{},"v3.15",[1038,2229,2230,2233,2234,2237,2238,2241,2242,2245],{},[1053,2231,2232],{},"局部（特定选项或功能）","：在该选项或章节旁添加一个小徽章：",[1070,2235,2236],{},":badge[v3.8]{color=\"info\" size=\"xs\" class=\"align-middle\"}","（例如 useFetch 中的 ",[1070,2239,2240],{},"getCachedData","，或 callOnce 中的 ",[1070,2243,2244],{},"navigation"," 模式）。",[2077,2247],{},"要查找版本，请检查源码中 JSDoc 的 ",[1070,2250,2251],{},"@since",[1041,2253,2256],{"href":2254,"rel":2255},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Freleases",[1045],"发布说明","或 ",[1041,2259,2262],{"href":2260,"rel":2261},"https:\u002F\u002Fnuxt.com\u002Fblog",[1045],"Nuxt 博客",[2264,2265,2267],"read-more",{"to":2266},"\u002Fdocs\u002Fcommunity\u002Fframework-contribution#documentation-guide",[1024,2268,2269],{},"了解如何为文档做出贡献。",[2271,2272,2273],"style",{},"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 .sF54B, html code.shiki .sF54B{--shiki-light:#39ADB5;--shiki-default:#E1E4E8;--shiki-dark:#89DDFF}html pre.shiki code .s0q4w, html code.shiki .s0q4w{--shiki-light:#39ADB5;--shiki-default:#79B8FF;--shiki-dark:#89DDFF}html pre.shiki code .sS9nB, html code.shiki .sS9nB{--shiki-light:#9C3EDA;--shiki-default:#79B8FF;--shiki-dark:#C792EA}html pre.shiki code .seQRr, html code.shiki .seQRr{--shiki-light:#E2931D;--shiki-default:#79B8FF;--shiki-dark:#FFCB6B}html pre.shiki code .s0jeK, html code.shiki .s0jeK{--shiki-light:#39ADB5;--shiki-default:#9ECBFF;--shiki-dark:#89DDFF}html pre.shiki code .s-Aze, html code.shiki .s-Aze{--shiki-light:#91B859;--shiki-default:#9ECBFF;--shiki-dark:#C3E88D}html pre.shiki code .sJK67, html code.shiki .sJK67{--shiki-light:#E2931D;--shiki-default:#B392F0;--shiki-dark:#FFCB6B}html pre.shiki code .ssOTe, html code.shiki .ssOTe{--shiki-light:#91B859;--shiki-default:#E1E4E8;--shiki-dark:#C3E88D}html pre.shiki code .sHXSO, html code.shiki .sHXSO{--shiki-light:#90A4AE90;--shiki-default:#E1E4E8;--shiki-dark:#BABED890}html pre.shiki code .szyBz, html code.shiki .szyBz{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#F97583;--shiki-default-font-style:inherit;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .srJn9, html code.shiki .srJn9{--shiki-light:#6182B8;--shiki-default:#B392F0;--shiki-dark:#82AAFF}html pre.shiki code .smVNa, html code.shiki .smVNa{--shiki-light:#90A4AE;--shiki-default:#E1E4E8;--shiki-dark:#BABED8}html pre.shiki code .sOtFm, html code.shiki .sOtFm{--shiki-light:#E53935;--shiki-default:#E1E4E8;--shiki-dark:#F07178}html pre.shiki code .si1Qm, html code.shiki .si1Qm{--shiki-light:#FF5370;--shiki-default:#79B8FF;--shiki-dark:#FF9CAC}html pre.shiki code .supr-, html code.shiki .supr-{--shiki-light:#91B859;--shiki-default:#79B8FF;--shiki-dark:#C3E88D}",{"title":354,"searchDepth":1569,"depth":1569,"links":2275},[2276,2277,2304],{"id":1030,"depth":1563,"text":1030},{"id":1084,"depth":1563,"text":1084,"children":2278},[2279,2280,2281,2287,2291,2292,2293],{"id":1088,"depth":1569,"text":1088},{"id":1106,"depth":1569,"text":1106},{"id":1143,"depth":1569,"text":1144,"children":2282},[2283,2284,2285,2286],{"id":1151,"depth":1673,"text":1151},{"id":1187,"depth":1673,"text":1187},{"id":1251,"depth":1673,"text":1252},{"id":1285,"depth":1673,"text":1286},{"id":1309,"depth":1569,"text":1310,"children":2288},[2289,2290],{"id":1321,"depth":1673,"text":1322},{"id":1336,"depth":1673,"text":1337},{"id":1354,"depth":1569,"text":1354},{"id":1375,"depth":1569,"text":1376},{"id":1426,"depth":1569,"text":1426,"children":2294},[2295,2296,2298,2300,2301,2302,2303],{"id":1435,"depth":1673,"text":1435},{"id":1450,"depth":1673,"text":2297},"使用核心 unjs\u002F 库",{"id":1497,"depth":1673,"text":2299},"使用 ESM 语法并默认 type: module",{"id":1517,"depth":1673,"text":1518},{"id":1575,"depth":1673,"text":1576},{"id":1704,"depth":1673,"text":1705},{"id":1733,"depth":1673,"text":1733},{"id":1768,"depth":1563,"text":1768,"children":2305},[2306,2307,2308,2309,2310,2311,2312],{"id":1777,"depth":1569,"text":1777},{"id":1857,"depth":1569,"text":1857},{"id":1890,"depth":1569,"text":1890},{"id":1949,"depth":1569,"text":1949},{"id":2030,"depth":1569,"text":2030},{"id":2086,"depth":1569,"text":2086},{"id":2092,"depth":1569,"text":2092},"md",{},"[object Object]",{"title":831,"description":832},"docs\u002F5.community\u002F4.contribution","Ru3MgspZi1E9AL25luHE1rkxX7W75MSvgV7bF2eDTjw",1785179860872]