[{"data":1,"prerenderedAt":4435},["ShallowReactive",2],{"docs-all-flat":3,"docs-\u002Fdocs\u002Fapi\u002Fkit\u002Fbuilder":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":761,"body":1020,"description":762,"extension":4423,"meta":4424,"navigation":4431,"path":760,"seo":4432,"stem":4433,"__hash__":4434},"docs\u002Fdocs\u002F4.api\u002F5.kit\u002F15.builder.md",{"type":1021,"value":1022,"toc":4392},"minimark",[1023,1059,1065,1068,1071,1082,1086,1287,1294,1667,1669,1686,1689,1806,1812,1815,1818,1825,1833,1985,1990,1993,1996,2157,2160,2264,2268,2271,2274,2281,2287,2397,2402,2405,2407,2427,2430,2714,2717,2831,2834,2849,2852,2859,2976,2982,3100,3105,3108,3111,3432,3435,3539,3541,3554,3557,3564,3570,3680,3685,3692,3695,3902,3905,3918,3924,4034,4040,4047,4050,4053,4056,4147,4150,4176,4187,4190,4388],[1024,1025,1026,1027,1033,1034,1039,1040,1033,1044,1047,1048,1051,1052,1033,1055,1058],"p",{},"Nuxt 有基于 ",[1028,1029,879],"a",{"href":1030,"rel":1031},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Ftree\u002Fmain\u002Fpackages\u002Fvite",[1032],"nofollow"," 和 ",[1028,1035,1038],{"href":1036,"rel":1037},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Ftree\u002Fmain\u002Fpackages\u002Fwebpack",[1032],"webpack"," 的构建器。你可以使用 ",[1041,1042,1043],"code",{},"extendViteConfig",[1041,1045,1046],{},"extendWebpackConfig"," 函数扩展传给每个构建器的配置。你也可以通过 ",[1041,1049,1050],{},"addVitePlugin","、",[1041,1053,1054],{},"addWebpackPlugin",[1041,1056,1057],{},"addBuildPlugin"," 添加额外的插件。",[1060,1061,1063],"h2",{"id":1062},"extendviteconfig",[1041,1064,1043],{},[1024,1066,1067],{},"扩展 Vite 配置。回调函数在应用于客户端和服务端构建时可能会被多次调用。",[1069,1070],"warning",{},[1024,1072,1073,1074,1077,1078,1081],{},"该钩子现已弃用，我们建议使用带有 ",[1041,1075,1076],{},"config"," 钩子的 Vite 插件，或者针对特定环境配置，使用 ",[1041,1079,1080],{},"applyToEnvironment"," 钩子。\n:",[1083,1084,1085],"h3",{"id":1085},"用法",[1087,1088,1093],"pre",{"className":1089,"code":1090,"language":1091,"meta":1092,"style":354},"language-ts shiki shiki-themes material-theme-lighter github-dark material-theme-palenight","import { defineNuxtModule, extendViteConfig } from '@nuxt\u002Fkit'\n\nexport default defineNuxtModule({\n  setup () {\n    extendViteConfig((config) => {\n      config.optimizeDeps ||= {}\n      config.optimizeDeps.include ||= []\n      config.optimizeDeps.include.push('cross-fetch')\n    })\n  },\n})\n","ts","twoslash",[1041,1094,1095,1135,1142,1160,1173,1196,1215,1234,1265,1273,1279],{"__ignoreMap":354},[1096,1097,1100,1104,1108,1112,1115,1118,1121,1124,1128,1132],"span",{"class":1098,"line":1099},"line",1,[1096,1101,1103],{"class":1102},"szyBz","import",[1096,1105,1107],{"class":1106},"sF54B"," {",[1096,1109,1111],{"class":1110},"smVNa"," defineNuxtModule",[1096,1113,1114],{"class":1106},",",[1096,1116,1117],{"class":1110}," extendViteConfig",[1096,1119,1120],{"class":1106}," }",[1096,1122,1123],{"class":1102}," from",[1096,1125,1127],{"class":1126},"s0jeK"," '",[1096,1129,1131],{"class":1130},"s-Aze","@nuxt\u002Fkit",[1096,1133,1134],{"class":1126},"'\n",[1096,1136,1138],{"class":1098,"line":1137},2,[1096,1139,1141],{"emptyLinePlaceholder":1140},true,"\n",[1096,1143,1145,1148,1151,1154,1157],{"class":1098,"line":1144},3,[1096,1146,1147],{"class":1102},"export",[1096,1149,1150],{"class":1102}," default",[1096,1152,1111],{"class":1153},"srJn9",[1096,1155,1156],{"class":1110},"(",[1096,1158,1159],{"class":1106},"{\n",[1096,1161,1163,1167,1170],{"class":1098,"line":1162},4,[1096,1164,1166],{"class":1165},"syA7L","  setup",[1096,1168,1169],{"class":1106}," ()",[1096,1171,1172],{"class":1106}," {\n",[1096,1174,1176,1179,1182,1184,1187,1190,1194],{"class":1098,"line":1175},5,[1096,1177,1178],{"class":1153},"    extendViteConfig",[1096,1180,1156],{"class":1181},"sOtFm",[1096,1183,1156],{"class":1106},[1096,1185,1076],{"class":1186},"ssIVr",[1096,1188,1189],{"class":1106},")",[1096,1191,1193],{"class":1192},"sV7Px"," =>",[1096,1195,1172],{"class":1106},[1096,1197,1199,1202,1205,1208,1212],{"class":1098,"line":1198},6,[1096,1200,1201],{"class":1110},"      config",[1096,1203,1204],{"class":1106},".",[1096,1206,1207],{"class":1110},"optimizeDeps",[1096,1209,1211],{"class":1210},"sXPRQ"," ||=",[1096,1213,1214],{"class":1106}," {}\n",[1096,1216,1218,1220,1222,1224,1226,1229,1231],{"class":1098,"line":1217},7,[1096,1219,1201],{"class":1110},[1096,1221,1204],{"class":1106},[1096,1223,1207],{"class":1110},[1096,1225,1204],{"class":1106},[1096,1227,1228],{"class":1110},"include",[1096,1230,1211],{"class":1210},[1096,1232,1233],{"class":1181}," []\n",[1096,1235,1237,1239,1241,1243,1245,1247,1249,1252,1254,1257,1260,1262],{"class":1098,"line":1236},8,[1096,1238,1201],{"class":1110},[1096,1240,1204],{"class":1106},[1096,1242,1207],{"class":1110},[1096,1244,1204],{"class":1106},[1096,1246,1228],{"class":1110},[1096,1248,1204],{"class":1106},[1096,1250,1251],{"class":1153},"push",[1096,1253,1156],{"class":1181},[1096,1255,1256],{"class":1126},"'",[1096,1258,1259],{"class":1130},"cross-fetch",[1096,1261,1256],{"class":1126},[1096,1263,1264],{"class":1181},")\n",[1096,1266,1268,1271],{"class":1098,"line":1267},9,[1096,1269,1270],{"class":1106},"    }",[1096,1272,1264],{"class":1181},[1096,1274,1276],{"class":1098,"line":1275},10,[1096,1277,1278],{"class":1106},"  },\n",[1096,1280,1282,1285],{"class":1098,"line":1281},11,[1096,1283,1284],{"class":1106},"}",[1096,1286,1264],{"class":1110},[1024,1288,1289,1290,1293],{},"对于 Nuxt 5+ 中特定环境的配置，请改用 ",[1041,1291,1292],{},"addVitePlugin()","：",[1087,1295,1297],{"className":1089,"code":1296,"language":1091,"meta":1092,"style":354},"import { addVitePlugin, defineNuxtModule } from '@nuxt\u002Fkit'\n\nexport default defineNuxtModule({\n  setup () {\n    \u002F\u002F 全局配置（影响所有环境）\n    addVitePlugin(() => ({\n      name: 'my-global-plugin',\n      config (config) {\n        \u002F\u002F 这在环境 setup 之前运行\n        config.optimizeDeps ||= {}\n        config.optimizeDeps.include ||= []\n        config.optimizeDeps.include.push('cross-fetch')\n      },\n    }))\n\n    \u002F\u002F 特定环境的配置\n    addVitePlugin(() => ({\n      name: 'my-client-plugin',\n      applyToEnvironment (environment) {\n        return environment.name === 'client'\n      },\n      configEnvironment (name, config) {\n        \u002F\u002F 这只影响 client 环境\n        config.optimizeDeps ||= {}\n        config.optimizeDeps.include ||= []\n        config.optimizeDeps.include.push('client-only-package')\n      },\n    }))\n  },\n})\n",[1041,1298,1299,1322,1326,1338,1346,1352,1369,1387,1399,1404,1417,1433,1460,1466,1474,1479,1485,1500,1516,1531,1555,1560,1579,1585,1598,1615,1643,1648,1655,1660],{"__ignoreMap":354},[1096,1300,1301,1303,1305,1308,1310,1312,1314,1316,1318,1320],{"class":1098,"line":1099},[1096,1302,1103],{"class":1102},[1096,1304,1107],{"class":1106},[1096,1306,1307],{"class":1110}," addVitePlugin",[1096,1309,1114],{"class":1106},[1096,1311,1111],{"class":1110},[1096,1313,1120],{"class":1106},[1096,1315,1123],{"class":1102},[1096,1317,1127],{"class":1126},[1096,1319,1131],{"class":1130},[1096,1321,1134],{"class":1126},[1096,1323,1324],{"class":1098,"line":1137},[1096,1325,1141],{"emptyLinePlaceholder":1140},[1096,1327,1328,1330,1332,1334,1336],{"class":1098,"line":1144},[1096,1329,1147],{"class":1102},[1096,1331,1150],{"class":1102},[1096,1333,1111],{"class":1153},[1096,1335,1156],{"class":1110},[1096,1337,1159],{"class":1106},[1096,1339,1340,1342,1344],{"class":1098,"line":1162},[1096,1341,1166],{"class":1165},[1096,1343,1169],{"class":1106},[1096,1345,1172],{"class":1106},[1096,1347,1348],{"class":1098,"line":1175},[1096,1349,1351],{"class":1350},"sZqJ9","    \u002F\u002F 全局配置（影响所有环境）\n",[1096,1353,1354,1357,1359,1362,1364,1367],{"class":1098,"line":1198},[1096,1355,1356],{"class":1153},"    addVitePlugin",[1096,1358,1156],{"class":1181},[1096,1360,1361],{"class":1106},"()",[1096,1363,1193],{"class":1192},[1096,1365,1366],{"class":1181}," (",[1096,1368,1159],{"class":1106},[1096,1370,1371,1374,1377,1379,1382,1384],{"class":1098,"line":1217},[1096,1372,1373],{"class":1181},"      name",[1096,1375,1376],{"class":1106},":",[1096,1378,1127],{"class":1126},[1096,1380,1381],{"class":1130},"my-global-plugin",[1096,1383,1256],{"class":1126},[1096,1385,1386],{"class":1106},",\n",[1096,1388,1389,1391,1393,1395,1397],{"class":1098,"line":1236},[1096,1390,1201],{"class":1165},[1096,1392,1366],{"class":1106},[1096,1394,1076],{"class":1186},[1096,1396,1189],{"class":1106},[1096,1398,1172],{"class":1106},[1096,1400,1401],{"class":1098,"line":1267},[1096,1402,1403],{"class":1350},"        \u002F\u002F 这在环境 setup 之前运行\n",[1096,1405,1406,1409,1411,1413,1415],{"class":1098,"line":1275},[1096,1407,1408],{"class":1110},"        config",[1096,1410,1204],{"class":1106},[1096,1412,1207],{"class":1110},[1096,1414,1211],{"class":1210},[1096,1416,1214],{"class":1106},[1096,1418,1419,1421,1423,1425,1427,1429,1431],{"class":1098,"line":1281},[1096,1420,1408],{"class":1110},[1096,1422,1204],{"class":1106},[1096,1424,1207],{"class":1110},[1096,1426,1204],{"class":1106},[1096,1428,1228],{"class":1110},[1096,1430,1211],{"class":1210},[1096,1432,1233],{"class":1181},[1096,1434,1436,1438,1440,1442,1444,1446,1448,1450,1452,1454,1456,1458],{"class":1098,"line":1435},12,[1096,1437,1408],{"class":1110},[1096,1439,1204],{"class":1106},[1096,1441,1207],{"class":1110},[1096,1443,1204],{"class":1106},[1096,1445,1228],{"class":1110},[1096,1447,1204],{"class":1106},[1096,1449,1251],{"class":1153},[1096,1451,1156],{"class":1181},[1096,1453,1256],{"class":1126},[1096,1455,1259],{"class":1130},[1096,1457,1256],{"class":1126},[1096,1459,1264],{"class":1181},[1096,1461,1463],{"class":1098,"line":1462},13,[1096,1464,1465],{"class":1106},"      },\n",[1096,1467,1469,1471],{"class":1098,"line":1468},14,[1096,1470,1270],{"class":1106},[1096,1472,1473],{"class":1181},"))\n",[1096,1475,1477],{"class":1098,"line":1476},15,[1096,1478,1141],{"emptyLinePlaceholder":1140},[1096,1480,1482],{"class":1098,"line":1481},16,[1096,1483,1484],{"class":1350},"    \u002F\u002F 特定环境的配置\n",[1096,1486,1488,1490,1492,1494,1496,1498],{"class":1098,"line":1487},17,[1096,1489,1356],{"class":1153},[1096,1491,1156],{"class":1181},[1096,1493,1361],{"class":1106},[1096,1495,1193],{"class":1192},[1096,1497,1366],{"class":1181},[1096,1499,1159],{"class":1106},[1096,1501,1503,1505,1507,1509,1512,1514],{"class":1098,"line":1502},18,[1096,1504,1373],{"class":1181},[1096,1506,1376],{"class":1106},[1096,1508,1127],{"class":1126},[1096,1510,1511],{"class":1130},"my-client-plugin",[1096,1513,1256],{"class":1126},[1096,1515,1386],{"class":1106},[1096,1517,1519,1522,1524,1527,1529],{"class":1098,"line":1518},19,[1096,1520,1521],{"class":1165},"      applyToEnvironment",[1096,1523,1366],{"class":1106},[1096,1525,1526],{"class":1186},"environment",[1096,1528,1189],{"class":1106},[1096,1530,1172],{"class":1106},[1096,1532,1534,1537,1540,1542,1545,1548,1550,1553],{"class":1098,"line":1533},20,[1096,1535,1536],{"class":1102},"        return",[1096,1538,1539],{"class":1110}," environment",[1096,1541,1204],{"class":1106},[1096,1543,1544],{"class":1110},"name",[1096,1546,1547],{"class":1210}," ===",[1096,1549,1127],{"class":1126},[1096,1551,1552],{"class":1130},"client",[1096,1554,1134],{"class":1126},[1096,1556,1558],{"class":1098,"line":1557},21,[1096,1559,1465],{"class":1106},[1096,1561,1563,1566,1568,1570,1572,1575,1577],{"class":1098,"line":1562},22,[1096,1564,1565],{"class":1165},"      configEnvironment",[1096,1567,1366],{"class":1106},[1096,1569,1544],{"class":1186},[1096,1571,1114],{"class":1106},[1096,1573,1574],{"class":1186}," config",[1096,1576,1189],{"class":1106},[1096,1578,1172],{"class":1106},[1096,1580,1582],{"class":1098,"line":1581},23,[1096,1583,1584],{"class":1350},"        \u002F\u002F 这只影响 client 环境\n",[1096,1586,1588,1590,1592,1594,1596],{"class":1098,"line":1587},24,[1096,1589,1408],{"class":1110},[1096,1591,1204],{"class":1106},[1096,1593,1207],{"class":1110},[1096,1595,1211],{"class":1210},[1096,1597,1214],{"class":1106},[1096,1599,1601,1603,1605,1607,1609,1611,1613],{"class":1098,"line":1600},25,[1096,1602,1408],{"class":1110},[1096,1604,1204],{"class":1106},[1096,1606,1207],{"class":1110},[1096,1608,1204],{"class":1106},[1096,1610,1228],{"class":1110},[1096,1612,1211],{"class":1210},[1096,1614,1233],{"class":1181},[1096,1616,1618,1620,1622,1624,1626,1628,1630,1632,1634,1636,1639,1641],{"class":1098,"line":1617},26,[1096,1619,1408],{"class":1110},[1096,1621,1204],{"class":1106},[1096,1623,1207],{"class":1110},[1096,1625,1204],{"class":1106},[1096,1627,1228],{"class":1110},[1096,1629,1204],{"class":1106},[1096,1631,1251],{"class":1153},[1096,1633,1156],{"class":1181},[1096,1635,1256],{"class":1126},[1096,1637,1638],{"class":1130},"client-only-package",[1096,1640,1256],{"class":1126},[1096,1642,1264],{"class":1181},[1096,1644,1646],{"class":1098,"line":1645},27,[1096,1647,1465],{"class":1106},[1096,1649,1651,1653],{"class":1098,"line":1650},28,[1096,1652,1270],{"class":1106},[1096,1654,1473],{"class":1181},[1096,1656,1658],{"class":1098,"line":1657},29,[1096,1659,1278],{"class":1106},[1096,1661,1663,1665],{"class":1098,"line":1662},30,[1096,1664,1284],{"class":1106},[1096,1666,1264],{"class":1110},[1069,1668],{},[1024,1670,1671,1675,1676,1678,1679,1681,1682,1685],{},[1672,1673,1674],"strong",{},"重要："," ",[1041,1677,1076],{}," 钩子在 ",[1041,1680,1080],{}," 之前运行并修改全局配置。请使用 ",[1041,1683,1684],{},"configEnvironment"," 进行特定环境的配置更改。\n:",[1083,1687,1688],{"id":1688},"类型",[1087,1690,1692],{"className":1089,"code":1691,"language":1091,"meta":1092,"style":354},"\u002F\u002F @errors: 2391\nimport type { UserConfig as ViteConfig } from 'vite'\nimport type { ExtendViteConfigOptions } from '@nuxt\u002Fkit'\n\u002F\u002F ---cut---\nfunction extendViteConfig (callback: ((config: ViteConfig) => void), options?: ExtendViteConfigOptions): void\n",[1041,1693,1694,1699,1728,1749,1754],{"__ignoreMap":354},[1096,1695,1696],{"class":1098,"line":1099},[1096,1697,1698],{"class":1350},"\u002F\u002F @errors: 2391\n",[1096,1700,1701,1703,1706,1708,1711,1714,1717,1719,1721,1723,1726],{"class":1098,"line":1137},[1096,1702,1103],{"class":1102},[1096,1704,1705],{"class":1102}," type",[1096,1707,1107],{"class":1106},[1096,1709,1710],{"class":1110}," UserConfig",[1096,1712,1713],{"class":1102}," as",[1096,1715,1716],{"class":1110}," ViteConfig",[1096,1718,1120],{"class":1106},[1096,1720,1123],{"class":1102},[1096,1722,1127],{"class":1126},[1096,1724,1725],{"class":1130},"vite",[1096,1727,1134],{"class":1126},[1096,1729,1730,1732,1734,1736,1739,1741,1743,1745,1747],{"class":1098,"line":1144},[1096,1731,1103],{"class":1102},[1096,1733,1705],{"class":1102},[1096,1735,1107],{"class":1106},[1096,1737,1738],{"class":1110}," ExtendViteConfigOptions",[1096,1740,1120],{"class":1106},[1096,1742,1123],{"class":1102},[1096,1744,1127],{"class":1126},[1096,1746,1131],{"class":1130},[1096,1748,1134],{"class":1126},[1096,1750,1751],{"class":1098,"line":1162},[1096,1752,1753],{"class":1350},"\u002F\u002F ---cut---\n",[1096,1755,1756,1759,1761,1763,1766,1768,1770,1772,1774,1776,1779,1781,1783,1787,1789,1791,1794,1797,1799,1801,1803],{"class":1098,"line":1175},[1096,1757,1758],{"class":1192},"function",[1096,1760,1117],{"class":1153},[1096,1762,1366],{"class":1106},[1096,1764,1765],{"class":1186},"callback",[1096,1767,1376],{"class":1210},[1096,1769,1366],{"class":1110},[1096,1771,1156],{"class":1106},[1096,1773,1076],{"class":1186},[1096,1775,1376],{"class":1210},[1096,1777,1716],{"class":1778},"sJK67",[1096,1780,1189],{"class":1106},[1096,1782,1193],{"class":1192},[1096,1784,1786],{"class":1785},"seQRr"," void",[1096,1788,1189],{"class":1110},[1096,1790,1114],{"class":1106},[1096,1792,1793],{"class":1186}," options",[1096,1795,1796],{"class":1210},"?:",[1096,1798,1738],{"class":1778},[1096,1800,1189],{"class":1106},[1096,1802,1376],{"class":1210},[1096,1804,1805],{"class":1785}," void\n",[1807,1808],"read-more",{"to":1809,"icon":1810,"target":1811},"https:\u002F\u002Fvite.dev\u002Fconfig\u002F","i-simple-icons-vite","_blank",[1024,1813,1814],{},"访问 Vite 官网以获取更多关于其配置的信息。\n:",[1083,1816,1817],{"id":1817},"参数",[1024,1819,1820,1824],{},[1672,1821,1822],{},[1041,1823,1765],{},"：一个会接收 Vite 配置对象作为参数的回调函数。",[1024,1826,1827,1832],{},[1672,1828,1829],{},[1041,1830,1831],{},"options","：传给回调函数的选项。该对象可以包含以下属性：",[1834,1835,1836,1854],"table",{},[1837,1838,1839],"thead",{},[1840,1841,1842,1846,1848,1851],"tr",{},[1843,1844,1845],"th",{},"属性",[1843,1847,1688],{},[1843,1849,1850],{},"必填",[1843,1852,1853],{},"描述",[1855,1856,1857,1882,1902,1932,1957],"tbody",{},[1840,1858,1859,1865,1870,1875],{},[1860,1861,1862],"td",{},[1041,1863,1864],{},"dev",[1860,1866,1867],{},[1041,1868,1869],{},"boolean",[1860,1871,1872],{},[1041,1873,1874],{},"false",[1860,1876,1877,1878,1881],{},"如果设为 ",[1041,1879,1880],{},"true","，回调函数会在开发模式构建时被调用。",[1840,1883,1884,1889,1893,1897],{},[1860,1885,1886],{},[1041,1887,1888],{},"build",[1860,1890,1891],{},[1041,1892,1869],{},[1860,1894,1895],{},[1041,1896,1874],{},[1860,1898,1877,1899,1901],{},[1041,1900,1880],{},"，回调函数会在生产模式构建时被调用。",[1840,1903,1904,1908,1912,1916],{},[1860,1905,1906],{},[1041,1907,150],{},[1860,1909,1910],{},[1041,1911,1869],{},[1860,1913,1914],{},[1041,1915,1874],{},[1860,1917,1877,1918,1920,1921,1924,1925,1927,1928,1931],{},[1041,1919,1880],{},"，回调函数会在构建服务端 bundle 时被调用。",[1672,1922,1923],{},"在 Nuxt 5+ 中已弃用。"," 请改用 ",[1041,1926,1292],{}," 配合 ",[1041,1929,1930],{},"applyToEnvironment()","。",[1840,1933,1934,1938,1942,1946],{},[1860,1935,1936],{},[1041,1937,1552],{},[1860,1939,1940],{},[1041,1941,1869],{},[1860,1943,1944],{},[1041,1945,1874],{},[1860,1947,1877,1948,1950,1951,1924,1953,1927,1955,1931],{},[1041,1949,1880],{},"，回调函数会在构建客户端 bundle 时被调用。",[1672,1952,1923],{},[1041,1954,1292],{},[1041,1956,1930],{},[1840,1958,1959,1964,1968,1972],{},[1860,1960,1961],{},[1041,1962,1963],{},"prepend",[1860,1965,1966],{},[1041,1967,1869],{},[1860,1969,1970],{},[1041,1971,1874],{},[1860,1973,1877,1974,1976,1977,1980,1981,1984],{},[1041,1975,1880],{},"，回调函数会用 ",[1041,1978,1979],{},"unshift()"," 而非 ",[1041,1982,1983],{},"push()"," 加到数组开头。",[1060,1986,1988],{"id":1987},"extendwebpackconfig",[1041,1989,1046],{},[1024,1991,1992],{},"扩展 webpack 配置。回调函数在应用于客户端和服务端构建时可能会被多次调用。",[1083,1994,1085],{"id":1995},"用法-1",[1087,1997,1999],{"className":1089,"code":1998,"language":1091,"meta":1092,"style":354},"import { defineNuxtModule, extendWebpackConfig } from '@nuxt\u002Fkit'\n\nexport default defineNuxtModule({\n  setup () {\n    extendWebpackConfig((config) => {\n      config.module!.rules!.push({\n        test: \u002F\\.txt$\u002F,\n        use: 'raw-loader',\n      })\n    })\n  },\n})\n",[1041,2000,2001,2024,2028,2040,2048,2065,2092,2118,2134,2141,2147,2151],{"__ignoreMap":354},[1096,2002,2003,2005,2007,2009,2011,2014,2016,2018,2020,2022],{"class":1098,"line":1099},[1096,2004,1103],{"class":1102},[1096,2006,1107],{"class":1106},[1096,2008,1111],{"class":1110},[1096,2010,1114],{"class":1106},[1096,2012,2013],{"class":1110}," extendWebpackConfig",[1096,2015,1120],{"class":1106},[1096,2017,1123],{"class":1102},[1096,2019,1127],{"class":1126},[1096,2021,1131],{"class":1130},[1096,2023,1134],{"class":1126},[1096,2025,2026],{"class":1098,"line":1137},[1096,2027,1141],{"emptyLinePlaceholder":1140},[1096,2029,2030,2032,2034,2036,2038],{"class":1098,"line":1144},[1096,2031,1147],{"class":1102},[1096,2033,1150],{"class":1102},[1096,2035,1111],{"class":1153},[1096,2037,1156],{"class":1110},[1096,2039,1159],{"class":1106},[1096,2041,2042,2044,2046],{"class":1098,"line":1162},[1096,2043,1166],{"class":1165},[1096,2045,1169],{"class":1106},[1096,2047,1172],{"class":1106},[1096,2049,2050,2053,2055,2057,2059,2061,2063],{"class":1098,"line":1175},[1096,2051,2052],{"class":1153},"    extendWebpackConfig",[1096,2054,1156],{"class":1181},[1096,2056,1156],{"class":1106},[1096,2058,1076],{"class":1186},[1096,2060,1189],{"class":1106},[1096,2062,1193],{"class":1192},[1096,2064,1172],{"class":1106},[1096,2066,2067,2069,2071,2074,2077,2079,2082,2084,2086,2088,2090],{"class":1098,"line":1198},[1096,2068,1201],{"class":1110},[1096,2070,1204],{"class":1106},[1096,2072,2073],{"class":1110},"module",[1096,2075,2076],{"class":1210},"!",[1096,2078,1204],{"class":1106},[1096,2080,2081],{"class":1110},"rules",[1096,2083,2076],{"class":1210},[1096,2085,1204],{"class":1106},[1096,2087,1251],{"class":1153},[1096,2089,1156],{"class":1181},[1096,2091,1159],{"class":1106},[1096,2093,2094,2097,2099,2102,2106,2110,2113,2116],{"class":1098,"line":1217},[1096,2095,2096],{"class":1181},"        test",[1096,2098,1376],{"class":1106},[1096,2100,2101],{"class":1126}," \u002F",[1096,2103,2105],{"class":2104},"sIzw5","\\.",[1096,2107,2109],{"class":2108},"sUiHA","txt",[1096,2111,2112],{"class":1102},"$",[1096,2114,2115],{"class":1126},"\u002F",[1096,2117,1386],{"class":1106},[1096,2119,2120,2123,2125,2127,2130,2132],{"class":1098,"line":1236},[1096,2121,2122],{"class":1181},"        use",[1096,2124,1376],{"class":1106},[1096,2126,1127],{"class":1126},[1096,2128,2129],{"class":1130},"raw-loader",[1096,2131,1256],{"class":1126},[1096,2133,1386],{"class":1106},[1096,2135,2136,2139],{"class":1098,"line":1267},[1096,2137,2138],{"class":1106},"      }",[1096,2140,1264],{"class":1181},[1096,2142,2143,2145],{"class":1098,"line":1275},[1096,2144,1270],{"class":1106},[1096,2146,1264],{"class":1181},[1096,2148,2149],{"class":1098,"line":1281},[1096,2150,1278],{"class":1106},[1096,2152,2153,2155],{"class":1098,"line":1435},[1096,2154,1284],{"class":1106},[1096,2156,1264],{"class":1110},[1083,2158,1688],{"id":2159},"类型-1",[1087,2161,2163],{"className":1089,"code":2162,"language":1091,"meta":1092,"style":354},"\u002F\u002F @errors: 2391\nimport type { Configuration as WebpackConfig } from 'webpack'\nimport type { ExtendWebpackConfigOptions } from '@nuxt\u002Fkit'\n\u002F\u002F ---cut---\nfunction extendWebpackConfig (callback: ((config: WebpackConfig) => void), options?: ExtendWebpackConfigOptions): void\n",[1041,2164,2165,2169,2195,2216,2220],{"__ignoreMap":354},[1096,2166,2167],{"class":1098,"line":1099},[1096,2168,1698],{"class":1350},[1096,2170,2171,2173,2175,2177,2180,2182,2185,2187,2189,2191,2193],{"class":1098,"line":1137},[1096,2172,1103],{"class":1102},[1096,2174,1705],{"class":1102},[1096,2176,1107],{"class":1106},[1096,2178,2179],{"class":1110}," Configuration",[1096,2181,1713],{"class":1102},[1096,2183,2184],{"class":1110}," WebpackConfig",[1096,2186,1120],{"class":1106},[1096,2188,1123],{"class":1102},[1096,2190,1127],{"class":1126},[1096,2192,1038],{"class":1130},[1096,2194,1134],{"class":1126},[1096,2196,2197,2199,2201,2203,2206,2208,2210,2212,2214],{"class":1098,"line":1144},[1096,2198,1103],{"class":1102},[1096,2200,1705],{"class":1102},[1096,2202,1107],{"class":1106},[1096,2204,2205],{"class":1110}," ExtendWebpackConfigOptions",[1096,2207,1120],{"class":1106},[1096,2209,1123],{"class":1102},[1096,2211,1127],{"class":1126},[1096,2213,1131],{"class":1130},[1096,2215,1134],{"class":1126},[1096,2217,2218],{"class":1098,"line":1162},[1096,2219,1753],{"class":1350},[1096,2221,2222,2224,2226,2228,2230,2232,2234,2236,2238,2240,2242,2244,2246,2248,2250,2252,2254,2256,2258,2260,2262],{"class":1098,"line":1175},[1096,2223,1758],{"class":1192},[1096,2225,2013],{"class":1153},[1096,2227,1366],{"class":1106},[1096,2229,1765],{"class":1186},[1096,2231,1376],{"class":1210},[1096,2233,1366],{"class":1110},[1096,2235,1156],{"class":1106},[1096,2237,1076],{"class":1186},[1096,2239,1376],{"class":1210},[1096,2241,2184],{"class":1778},[1096,2243,1189],{"class":1106},[1096,2245,1193],{"class":1192},[1096,2247,1786],{"class":1785},[1096,2249,1189],{"class":1110},[1096,2251,1114],{"class":1106},[1096,2253,1793],{"class":1186},[1096,2255,1796],{"class":1210},[1096,2257,2205],{"class":1778},[1096,2259,1189],{"class":1106},[1096,2261,1376],{"class":1210},[1096,2263,1805],{"class":1785},[1807,2265],{"to":2266,"icon":2267,"target":1811},"https:\u002F\u002Fwebpack.js.org\u002Fconfiguration\u002F","i-simple-icons-webpack",[1024,2269,2270],{},"访问 webpack 官网以获取更多关于其配置的信息。\n:",[1083,2272,1817],{"id":2273},"参数-1",[1024,2275,2276,2280],{},[1672,2277,2278],{},[1041,2279,1765],{},"：一个会接收 webpack 配置对象作为参数的回调函数。",[1024,2282,2283,1832],{},[1672,2284,2285],{},[1041,2286,1831],{},[1834,2288,2289,2301],{},[1837,2290,2291],{},[1840,2292,2293,2295,2297,2299],{},[1843,2294,1845],{},[1843,2296,1688],{},[1843,2298,1850],{},[1843,2300,1853],{},[1855,2302,2303,2321,2339,2357,2375],{},[1840,2304,2305,2309,2313,2317],{},[1860,2306,2307],{},[1041,2308,1864],{},[1860,2310,2311],{},[1041,2312,1869],{},[1860,2314,2315],{},[1041,2316,1874],{},[1860,2318,1877,2319,1881],{},[1041,2320,1880],{},[1840,2322,2323,2327,2331,2335],{},[1860,2324,2325],{},[1041,2326,1888],{},[1860,2328,2329],{},[1041,2330,1869],{},[1860,2332,2333],{},[1041,2334,1874],{},[1860,2336,1877,2337,1901],{},[1041,2338,1880],{},[1840,2340,2341,2345,2349,2353],{},[1860,2342,2343],{},[1041,2344,150],{},[1860,2346,2347],{},[1041,2348,1869],{},[1860,2350,2351],{},[1041,2352,1874],{},[1860,2354,1877,2355,1920],{},[1041,2356,1880],{},[1840,2358,2359,2363,2367,2371],{},[1860,2360,2361],{},[1041,2362,1552],{},[1860,2364,2365],{},[1041,2366,1869],{},[1860,2368,2369],{},[1041,2370,1874],{},[1860,2372,1877,2373,1950],{},[1041,2374,1880],{},[1840,2376,2377,2381,2385,2389],{},[1860,2378,2379],{},[1041,2380,1963],{},[1860,2382,2383],{},[1041,2384,1869],{},[1860,2386,2387],{},[1041,2388,1874],{},[1860,2390,1877,2391,1976,2393,1980,2395,1984],{},[1041,2392,1880],{},[1041,2394,1979],{},[1041,2396,1983],{},[1060,2398,2400],{"id":2399},"addviteplugin",[1041,2401,1050],{},[1024,2403,2404],{},"向配置中追加 Vite 插件。",[1069,2406],{},[1024,2408,2409,2410,2413,2414,2417,2418,2413,2420,2423,2424,2426],{},"在 Nuxt 5+ 中，使用 ",[1041,2411,2412],{},"server: false"," 或 ",[1041,2415,2416],{},"client: false"," 选项注册的插件，其 ",[1041,2419,1076],{},[1041,2421,2422],{},"configResolved"," 钩子不会被调用。请改用 ",[1041,2425,1930],{}," 方法来实现特定环境的插件。\n:",[1083,2428,1085],{"id":2429},"用法-2",[1087,2431,2433],{"className":1089,"code":2432,"language":1091,"meta":1092,"style":354},"\u002F\u002F @errors: 2307\n\u002F\u002F ---cut---\nimport { addVitePlugin, defineNuxtModule } from '@nuxt\u002Fkit'\nimport { svg4VuePlugin } from 'vite-plugin-svg4vue'\n\nexport default defineNuxtModule({\n  meta: {\n    name: 'nuxt-svg-icons',\n    configKey: 'nuxtSvgIcons',\n  },\n  defaults: {\n    svg4vue: {\n      assetsDirName: 'assets\u002Ficons',\n    },\n  },\n  setup (options) {\n    addVitePlugin(svg4VuePlugin(options.svg4vue))\n\n    \u002F\u002F 或者，只为某一个环境添加 vite 插件\n    addVitePlugin(() => ({\n      name: 'my-client-plugin',\n      applyToEnvironment (environment) {\n        return environment.name === 'client'\n      },\n      \u002F\u002F ... 其余的客户端专属插件\n    }))\n  },\n})\n",[1041,2434,2435,2440,2444,2466,2486,2490,2502,2511,2527,2543,2547,2556,2565,2581,2586,2590,2602,2622,2626,2631,2645,2659,2671,2689,2693,2698,2704,2708],{"__ignoreMap":354},[1096,2436,2437],{"class":1098,"line":1099},[1096,2438,2439],{"class":1350},"\u002F\u002F @errors: 2307\n",[1096,2441,2442],{"class":1098,"line":1137},[1096,2443,1753],{"class":1350},[1096,2445,2446,2448,2450,2452,2454,2456,2458,2460,2462,2464],{"class":1098,"line":1144},[1096,2447,1103],{"class":1102},[1096,2449,1107],{"class":1106},[1096,2451,1307],{"class":1110},[1096,2453,1114],{"class":1106},[1096,2455,1111],{"class":1110},[1096,2457,1120],{"class":1106},[1096,2459,1123],{"class":1102},[1096,2461,1127],{"class":1126},[1096,2463,1131],{"class":1130},[1096,2465,1134],{"class":1126},[1096,2467,2468,2470,2472,2475,2477,2479,2481,2484],{"class":1098,"line":1162},[1096,2469,1103],{"class":1102},[1096,2471,1107],{"class":1106},[1096,2473,2474],{"class":1110}," svg4VuePlugin",[1096,2476,1120],{"class":1106},[1096,2478,1123],{"class":1102},[1096,2480,1127],{"class":1126},[1096,2482,2483],{"class":1130},"vite-plugin-svg4vue",[1096,2485,1134],{"class":1126},[1096,2487,2488],{"class":1098,"line":1175},[1096,2489,1141],{"emptyLinePlaceholder":1140},[1096,2491,2492,2494,2496,2498,2500],{"class":1098,"line":1198},[1096,2493,1147],{"class":1102},[1096,2495,1150],{"class":1102},[1096,2497,1111],{"class":1153},[1096,2499,1156],{"class":1110},[1096,2501,1159],{"class":1106},[1096,2503,2504,2507,2509],{"class":1098,"line":1217},[1096,2505,2506],{"class":1181},"  meta",[1096,2508,1376],{"class":1106},[1096,2510,1172],{"class":1106},[1096,2512,2513,2516,2518,2520,2523,2525],{"class":1098,"line":1236},[1096,2514,2515],{"class":1181},"    name",[1096,2517,1376],{"class":1106},[1096,2519,1127],{"class":1126},[1096,2521,2522],{"class":1130},"nuxt-svg-icons",[1096,2524,1256],{"class":1126},[1096,2526,1386],{"class":1106},[1096,2528,2529,2532,2534,2536,2539,2541],{"class":1098,"line":1267},[1096,2530,2531],{"class":1181},"    configKey",[1096,2533,1376],{"class":1106},[1096,2535,1127],{"class":1126},[1096,2537,2538],{"class":1130},"nuxtSvgIcons",[1096,2540,1256],{"class":1126},[1096,2542,1386],{"class":1106},[1096,2544,2545],{"class":1098,"line":1275},[1096,2546,1278],{"class":1106},[1096,2548,2549,2552,2554],{"class":1098,"line":1281},[1096,2550,2551],{"class":1181},"  defaults",[1096,2553,1376],{"class":1106},[1096,2555,1172],{"class":1106},[1096,2557,2558,2561,2563],{"class":1098,"line":1435},[1096,2559,2560],{"class":1181},"    svg4vue",[1096,2562,1376],{"class":1106},[1096,2564,1172],{"class":1106},[1096,2566,2567,2570,2572,2574,2577,2579],{"class":1098,"line":1462},[1096,2568,2569],{"class":1181},"      assetsDirName",[1096,2571,1376],{"class":1106},[1096,2573,1127],{"class":1126},[1096,2575,2576],{"class":1130},"assets\u002Ficons",[1096,2578,1256],{"class":1126},[1096,2580,1386],{"class":1106},[1096,2582,2583],{"class":1098,"line":1468},[1096,2584,2585],{"class":1106},"    },\n",[1096,2587,2588],{"class":1098,"line":1476},[1096,2589,1278],{"class":1106},[1096,2591,2592,2594,2596,2598,2600],{"class":1098,"line":1481},[1096,2593,1166],{"class":1165},[1096,2595,1366],{"class":1106},[1096,2597,1831],{"class":1186},[1096,2599,1189],{"class":1106},[1096,2601,1172],{"class":1106},[1096,2603,2604,2606,2608,2611,2613,2615,2617,2620],{"class":1098,"line":1487},[1096,2605,1356],{"class":1153},[1096,2607,1156],{"class":1181},[1096,2609,2610],{"class":1153},"svg4VuePlugin",[1096,2612,1156],{"class":1181},[1096,2614,1831],{"class":1110},[1096,2616,1204],{"class":1106},[1096,2618,2619],{"class":1110},"svg4vue",[1096,2621,1473],{"class":1181},[1096,2623,2624],{"class":1098,"line":1502},[1096,2625,1141],{"emptyLinePlaceholder":1140},[1096,2627,2628],{"class":1098,"line":1518},[1096,2629,2630],{"class":1350},"    \u002F\u002F 或者，只为某一个环境添加 vite 插件\n",[1096,2632,2633,2635,2637,2639,2641,2643],{"class":1098,"line":1533},[1096,2634,1356],{"class":1153},[1096,2636,1156],{"class":1181},[1096,2638,1361],{"class":1106},[1096,2640,1193],{"class":1192},[1096,2642,1366],{"class":1181},[1096,2644,1159],{"class":1106},[1096,2646,2647,2649,2651,2653,2655,2657],{"class":1098,"line":1557},[1096,2648,1373],{"class":1181},[1096,2650,1376],{"class":1106},[1096,2652,1127],{"class":1126},[1096,2654,1511],{"class":1130},[1096,2656,1256],{"class":1126},[1096,2658,1386],{"class":1106},[1096,2660,2661,2663,2665,2667,2669],{"class":1098,"line":1562},[1096,2662,1521],{"class":1165},[1096,2664,1366],{"class":1106},[1096,2666,1526],{"class":1186},[1096,2668,1189],{"class":1106},[1096,2670,1172],{"class":1106},[1096,2672,2673,2675,2677,2679,2681,2683,2685,2687],{"class":1098,"line":1581},[1096,2674,1536],{"class":1102},[1096,2676,1539],{"class":1110},[1096,2678,1204],{"class":1106},[1096,2680,1544],{"class":1110},[1096,2682,1547],{"class":1210},[1096,2684,1127],{"class":1126},[1096,2686,1552],{"class":1130},[1096,2688,1134],{"class":1126},[1096,2690,2691],{"class":1098,"line":1587},[1096,2692,1465],{"class":1106},[1096,2694,2695],{"class":1098,"line":1600},[1096,2696,2697],{"class":1350},"      \u002F\u002F ... 其余的客户端专属插件\n",[1096,2699,2700,2702],{"class":1098,"line":1617},[1096,2701,1270],{"class":1106},[1096,2703,1473],{"class":1181},[1096,2705,2706],{"class":1098,"line":1645},[1096,2707,1278],{"class":1106},[1096,2709,2710,2712],{"class":1098,"line":1650},[1096,2711,1284],{"class":1106},[1096,2713,1264],{"class":1110},[1083,2715,1688],{"id":2716},"类型-2",[1087,2718,2720],{"className":1089,"code":2719,"language":1091,"meta":1092,"style":354},"\u002F\u002F @errors: 2391\nimport type { Plugin as VitePlugin } from 'vite'\nimport type { ExtendViteConfigOptions } from '@nuxt\u002Fkit'\n\u002F\u002F ---cut---\nfunction addVitePlugin (pluginOrGetter: VitePlugin | VitePlugin[] | (() => VitePlugin | VitePlugin[]), options?: ExtendViteConfigOptions): void\n",[1041,2721,2722,2726,2752,2772,2776],{"__ignoreMap":354},[1096,2723,2724],{"class":1098,"line":1099},[1096,2725,1698],{"class":1350},[1096,2727,2728,2730,2732,2734,2737,2739,2742,2744,2746,2748,2750],{"class":1098,"line":1137},[1096,2729,1103],{"class":1102},[1096,2731,1705],{"class":1102},[1096,2733,1107],{"class":1106},[1096,2735,2736],{"class":1110}," Plugin",[1096,2738,1713],{"class":1102},[1096,2740,2741],{"class":1110}," VitePlugin",[1096,2743,1120],{"class":1106},[1096,2745,1123],{"class":1102},[1096,2747,1127],{"class":1126},[1096,2749,1725],{"class":1130},[1096,2751,1134],{"class":1126},[1096,2753,2754,2756,2758,2760,2762,2764,2766,2768,2770],{"class":1098,"line":1144},[1096,2755,1103],{"class":1102},[1096,2757,1705],{"class":1102},[1096,2759,1107],{"class":1106},[1096,2761,1738],{"class":1110},[1096,2763,1120],{"class":1106},[1096,2765,1123],{"class":1102},[1096,2767,1127],{"class":1126},[1096,2769,1131],{"class":1130},[1096,2771,1134],{"class":1126},[1096,2773,2774],{"class":1098,"line":1162},[1096,2775,1753],{"class":1350},[1096,2777,2778,2780,2782,2784,2787,2789,2791,2794,2796,2799,2802,2804,2806,2808,2810,2812,2814,2817,2819,2821,2823,2825,2827,2829],{"class":1098,"line":1175},[1096,2779,1758],{"class":1192},[1096,2781,1307],{"class":1153},[1096,2783,1366],{"class":1106},[1096,2785,2786],{"class":1186},"pluginOrGetter",[1096,2788,1376],{"class":1210},[1096,2790,2741],{"class":1778},[1096,2792,2793],{"class":1210}," |",[1096,2795,2741],{"class":1778},[1096,2797,2798],{"class":1110},"[] ",[1096,2800,2801],{"class":1210},"|",[1096,2803,1366],{"class":1110},[1096,2805,1361],{"class":1106},[1096,2807,1193],{"class":1192},[1096,2809,2741],{"class":1778},[1096,2811,2793],{"class":1210},[1096,2813,2741],{"class":1778},[1096,2815,2816],{"class":1110},"[])",[1096,2818,1114],{"class":1106},[1096,2820,1793],{"class":1186},[1096,2822,1796],{"class":1210},[1096,2824,1738],{"class":1778},[1096,2826,1189],{"class":1106},[1096,2828,1376],{"class":1210},[1096,2830,1805],{"class":1785},[2832,2833],"tip",{},[1024,2835,2836,2837,2842,2843,2848],{},"访问 ",[1028,2838,2841],{"href":2839,"rel":2840},"https:\u002F\u002Fvite.dev\u002Fguide\u002Fapi-plugin",[1032],"Vite 官网"," 以获取更多关于 Vite 插件的信息。你也可以使用 ",[1028,2844,2847],{"href":2845,"rel":2846},"https:\u002F\u002Fgithub.com\u002Fvitejs\u002Fawesome-vite#plugins",[1032],"这个仓库"," 来寻找适合你需求的插件。\n:",[1083,2850,1817],{"id":2851},"参数-2",[1024,2853,2854,2858],{},[1672,2855,2856],{},[1041,2857,2786],{},"：一个 Vite 插件实例或一组 Vite 插件实例。如果提供的是函数，它必须返回一个 Vite 插件实例或一组 Vite 插件实例。该函数也可以是异步的或返回一个 Promise，这对于懒加载插件很有用：",[1087,2860,2862],{"className":1089,"code":2861,"language":1091,"meta":1092,"style":354},"\u002F\u002F @errors: 2307\nimport { addVitePlugin, defineNuxtModule } from '@nuxt\u002Fkit'\n\nexport default defineNuxtModule({\n  setup () {\n    \u002F\u002F 懒加载插件 - 只在构建真正运行时才被导入\n    addVitePlugin(() => import('my-vite-plugin').then(r => r.default()))\n  },\n})\n",[1041,2863,2864,2868,2890,2894,2906,2914,2919,2966,2970],{"__ignoreMap":354},[1096,2865,2866],{"class":1098,"line":1099},[1096,2867,2439],{"class":1350},[1096,2869,2870,2872,2874,2876,2878,2880,2882,2884,2886,2888],{"class":1098,"line":1137},[1096,2871,1103],{"class":1102},[1096,2873,1107],{"class":1106},[1096,2875,1307],{"class":1110},[1096,2877,1114],{"class":1106},[1096,2879,1111],{"class":1110},[1096,2881,1120],{"class":1106},[1096,2883,1123],{"class":1102},[1096,2885,1127],{"class":1126},[1096,2887,1131],{"class":1130},[1096,2889,1134],{"class":1126},[1096,2891,2892],{"class":1098,"line":1144},[1096,2893,1141],{"emptyLinePlaceholder":1140},[1096,2895,2896,2898,2900,2902,2904],{"class":1098,"line":1162},[1096,2897,1147],{"class":1102},[1096,2899,1150],{"class":1102},[1096,2901,1111],{"class":1153},[1096,2903,1156],{"class":1110},[1096,2905,1159],{"class":1106},[1096,2907,2908,2910,2912],{"class":1098,"line":1175},[1096,2909,1166],{"class":1165},[1096,2911,1169],{"class":1106},[1096,2913,1172],{"class":1106},[1096,2915,2916],{"class":1098,"line":1198},[1096,2917,2918],{"class":1350},"    \u002F\u002F 懒加载插件 - 只在构建真正运行时才被导入\n",[1096,2920,2921,2923,2925,2927,2929,2932,2934,2936,2939,2941,2943,2945,2948,2950,2953,2955,2958,2960,2963],{"class":1098,"line":1217},[1096,2922,1356],{"class":1153},[1096,2924,1156],{"class":1181},[1096,2926,1361],{"class":1106},[1096,2928,1193],{"class":1192},[1096,2930,2931],{"class":1210}," import",[1096,2933,1156],{"class":1181},[1096,2935,1256],{"class":1126},[1096,2937,2938],{"class":1130},"my-vite-plugin",[1096,2940,1256],{"class":1126},[1096,2942,1189],{"class":1181},[1096,2944,1204],{"class":1106},[1096,2946,2947],{"class":1153},"then",[1096,2949,1156],{"class":1181},[1096,2951,2952],{"class":1186},"r",[1096,2954,1193],{"class":1192},[1096,2956,2957],{"class":1110}," r",[1096,2959,1204],{"class":1106},[1096,2961,2962],{"class":1153},"default",[1096,2964,2965],{"class":1181},"()))\n",[1096,2967,2968],{"class":1098,"line":1236},[1096,2969,1278],{"class":1106},[1096,2971,2972,2974],{"class":1098,"line":1267},[1096,2973,1284],{"class":1106},[1096,2975,1264],{"class":1110},[1024,2977,2978,1832],{},[1672,2979,2980],{},[1041,2981,1831],{},[1834,2983,2984,2996],{},[1837,2985,2986],{},[1840,2987,2988,2990,2992,2994],{},[1843,2989,1845],{},[1843,2991,1688],{},[1843,2993,1850],{},[1843,2995,1853],{},[1855,2997,2998,3016,3034,3056,3078],{},[1840,2999,3000,3004,3008,3012],{},[1860,3001,3002],{},[1041,3003,1864],{},[1860,3005,3006],{},[1041,3007,1869],{},[1860,3009,3010],{},[1041,3011,1874],{},[1860,3013,1877,3014,1881],{},[1041,3015,1880],{},[1840,3017,3018,3022,3026,3030],{},[1860,3019,3020],{},[1041,3021,1888],{},[1860,3023,3024],{},[1041,3025,1869],{},[1860,3027,3028],{},[1041,3029,1874],{},[1860,3031,1877,3032,1901],{},[1041,3033,1880],{},[1840,3035,3036,3040,3044,3048],{},[1860,3037,3038],{},[1041,3039,150],{},[1860,3041,3042],{},[1041,3043,1869],{},[1860,3045,3046],{},[1041,3047,1874],{},[1860,3049,1877,3050,1920,3052,1924,3054,1931],{},[1041,3051,1880],{},[1672,3053,1923],{},[1041,3055,1930],{},[1840,3057,3058,3062,3066,3070],{},[1860,3059,3060],{},[1041,3061,1552],{},[1860,3063,3064],{},[1041,3065,1869],{},[1860,3067,3068],{},[1041,3069,1874],{},[1860,3071,1877,3072,1950,3074,1924,3076,1931],{},[1041,3073,1880],{},[1672,3075,1923],{},[1041,3077,1930],{},[1840,3079,3080,3084,3088,3092],{},[1860,3081,3082],{},[1041,3083,1963],{},[1860,3085,3086],{},[1041,3087,1869],{},[1860,3089,3090],{},[1041,3091,1874],{},[1860,3093,1877,3094,1976,3096,1980,3098,1984],{},[1041,3095,1880],{},[1041,3097,1979],{},[1041,3099,1983],{},[1060,3101,3103],{"id":3102},"addwebpackplugin",[1041,3104,1054],{},[1024,3106,3107],{},"向配置中追加 webpack 插件。",[1083,3109,1085],{"id":3110},"用法-3",[1087,3112,3114],{"className":1089,"code":3113,"language":1091,"meta":354,"style":354},"import EslintWebpackPlugin from 'eslint-webpack-plugin'\nimport { addWebpackPlugin, defineNuxtModule } from '@nuxt\u002Fkit'\n\nexport default defineNuxtModule({\n  meta: {\n    name: 'nuxt-eslint',\n    configKey: 'eslint',\n  },\n  defaults: nuxt => ({\n    include: [`${nuxt.options.srcDir}\u002F**\u002F*.{js,jsx,ts,tsx,vue}`],\n    lintOnStart: true,\n  }),\n  setup (options, nuxt) {\n    const webpackOptions = {\n      ...options,\n      context: nuxt.options.srcDir,\n      files: options.include,\n      lintDirtyModulesOnly: !options.lintOnStart,\n    }\n    addWebpackPlugin(new EslintWebpackPlugin(webpackOptions), { server: false })\n  },\n})\n",[1041,3115,3116,3133,3156,3160,3172,3180,3195,3210,3214,3229,3267,3280,3289,3305,3319,3328,3347,3362,3381,3386,3422,3426],{"__ignoreMap":354},[1096,3117,3118,3120,3123,3126,3128,3131],{"class":1098,"line":1099},[1096,3119,1103],{"class":1102},[1096,3121,3122],{"class":1110}," EslintWebpackPlugin ",[1096,3124,3125],{"class":1102},"from",[1096,3127,1127],{"class":1126},[1096,3129,3130],{"class":1130},"eslint-webpack-plugin",[1096,3132,1134],{"class":1126},[1096,3134,3135,3137,3139,3142,3144,3146,3148,3150,3152,3154],{"class":1098,"line":1137},[1096,3136,1103],{"class":1102},[1096,3138,1107],{"class":1106},[1096,3140,3141],{"class":1110}," addWebpackPlugin",[1096,3143,1114],{"class":1106},[1096,3145,1111],{"class":1110},[1096,3147,1120],{"class":1106},[1096,3149,1123],{"class":1102},[1096,3151,1127],{"class":1126},[1096,3153,1131],{"class":1130},[1096,3155,1134],{"class":1126},[1096,3157,3158],{"class":1098,"line":1144},[1096,3159,1141],{"emptyLinePlaceholder":1140},[1096,3161,3162,3164,3166,3168,3170],{"class":1098,"line":1162},[1096,3163,1147],{"class":1102},[1096,3165,1150],{"class":1102},[1096,3167,1111],{"class":1153},[1096,3169,1156],{"class":1110},[1096,3171,1159],{"class":1106},[1096,3173,3174,3176,3178],{"class":1098,"line":1175},[1096,3175,2506],{"class":1181},[1096,3177,1376],{"class":1106},[1096,3179,1172],{"class":1106},[1096,3181,3182,3184,3186,3188,3191,3193],{"class":1098,"line":1198},[1096,3183,2515],{"class":1181},[1096,3185,1376],{"class":1106},[1096,3187,1127],{"class":1126},[1096,3189,3190],{"class":1130},"nuxt-eslint",[1096,3192,1256],{"class":1126},[1096,3194,1386],{"class":1106},[1096,3196,3197,3199,3201,3203,3206,3208],{"class":1098,"line":1217},[1096,3198,2531],{"class":1181},[1096,3200,1376],{"class":1106},[1096,3202,1127],{"class":1126},[1096,3204,3205],{"class":1130},"eslint",[1096,3207,1256],{"class":1126},[1096,3209,1386],{"class":1106},[1096,3211,3212],{"class":1098,"line":1236},[1096,3213,1278],{"class":1106},[1096,3215,3216,3218,3220,3223,3225,3227],{"class":1098,"line":1267},[1096,3217,2551],{"class":1153},[1096,3219,1376],{"class":1106},[1096,3221,3222],{"class":1186}," nuxt",[1096,3224,1193],{"class":1192},[1096,3226,1366],{"class":1110},[1096,3228,1159],{"class":1106},[1096,3230,3231,3234,3236,3239,3242,3245,3247,3249,3251,3254,3256,3259,3262,3265],{"class":1098,"line":1275},[1096,3232,3233],{"class":1181},"    include",[1096,3235,1376],{"class":1106},[1096,3237,3238],{"class":1110}," [",[1096,3240,3241],{"class":1126},"`${",[1096,3243,3244],{"class":1110},"nuxt",[1096,3246,1204],{"class":1126},[1096,3248,1831],{"class":1110},[1096,3250,1204],{"class":1126},[1096,3252,3253],{"class":1110},"srcDir",[1096,3255,1284],{"class":1126},[1096,3257,3258],{"class":1130},"\u002F**\u002F*.{js,jsx,ts,tsx,vue}",[1096,3260,3261],{"class":1126},"`",[1096,3263,3264],{"class":1110},"]",[1096,3266,1386],{"class":1106},[1096,3268,3269,3272,3274,3278],{"class":1098,"line":1281},[1096,3270,3271],{"class":1181},"    lintOnStart",[1096,3273,1376],{"class":1106},[1096,3275,3277],{"class":3276},"si1Qm"," true",[1096,3279,1386],{"class":1106},[1096,3281,3282,3285,3287],{"class":1098,"line":1435},[1096,3283,3284],{"class":1106},"  }",[1096,3286,1189],{"class":1110},[1096,3288,1386],{"class":1106},[1096,3290,3291,3293,3295,3297,3299,3301,3303],{"class":1098,"line":1462},[1096,3292,1166],{"class":1165},[1096,3294,1366],{"class":1106},[1096,3296,1831],{"class":1186},[1096,3298,1114],{"class":1106},[1096,3300,3222],{"class":1186},[1096,3302,1189],{"class":1106},[1096,3304,1172],{"class":1106},[1096,3306,3307,3310,3314,3317],{"class":1098,"line":1468},[1096,3308,3309],{"class":1192},"    const",[1096,3311,3313],{"class":3312},"sJTDI"," webpackOptions",[1096,3315,3316],{"class":1210}," =",[1096,3318,1172],{"class":1106},[1096,3320,3321,3324,3326],{"class":1098,"line":1476},[1096,3322,3323],{"class":1210},"      ...",[1096,3325,1831],{"class":1110},[1096,3327,1386],{"class":1106},[1096,3329,3330,3333,3335,3337,3339,3341,3343,3345],{"class":1098,"line":1481},[1096,3331,3332],{"class":1181},"      context",[1096,3334,1376],{"class":1106},[1096,3336,3222],{"class":1110},[1096,3338,1204],{"class":1106},[1096,3340,1831],{"class":1110},[1096,3342,1204],{"class":1106},[1096,3344,3253],{"class":1110},[1096,3346,1386],{"class":1106},[1096,3348,3349,3352,3354,3356,3358,3360],{"class":1098,"line":1487},[1096,3350,3351],{"class":1181},"      files",[1096,3353,1376],{"class":1106},[1096,3355,1793],{"class":1110},[1096,3357,1204],{"class":1106},[1096,3359,1228],{"class":1110},[1096,3361,1386],{"class":1106},[1096,3363,3364,3367,3369,3372,3374,3376,3379],{"class":1098,"line":1502},[1096,3365,3366],{"class":1181},"      lintDirtyModulesOnly",[1096,3368,1376],{"class":1106},[1096,3370,3371],{"class":1210}," !",[1096,3373,1831],{"class":1110},[1096,3375,1204],{"class":1106},[1096,3377,3378],{"class":1110},"lintOnStart",[1096,3380,1386],{"class":1106},[1096,3382,3383],{"class":1098,"line":1518},[1096,3384,3385],{"class":1106},"    }\n",[1096,3387,3388,3391,3393,3396,3399,3401,3404,3406,3408,3410,3413,3415,3418,3420],{"class":1098,"line":1533},[1096,3389,3390],{"class":1153},"    addWebpackPlugin",[1096,3392,1156],{"class":1181},[1096,3394,3395],{"class":1210},"new",[1096,3397,3398],{"class":1153}," EslintWebpackPlugin",[1096,3400,1156],{"class":1181},[1096,3402,3403],{"class":1110},"webpackOptions",[1096,3405,1189],{"class":1181},[1096,3407,1114],{"class":1106},[1096,3409,1107],{"class":1106},[1096,3411,3412],{"class":1181}," server",[1096,3414,1376],{"class":1106},[1096,3416,3417],{"class":3276}," false",[1096,3419,1120],{"class":1106},[1096,3421,1264],{"class":1181},[1096,3423,3424],{"class":1098,"line":1557},[1096,3425,1278],{"class":1106},[1096,3427,3428,3430],{"class":1098,"line":1562},[1096,3429,1284],{"class":1106},[1096,3431,1264],{"class":1110},[1083,3433,1688],{"id":3434},"类型-3",[1087,3436,3438],{"className":1089,"code":3437,"language":1091,"meta":1092,"style":354},"\u002F\u002F @errors: 2391\nimport type { WebpackPluginInstance } from 'webpack'\nimport type { ExtendWebpackConfigOptions } from '@nuxt\u002Fkit'\n\u002F\u002F ---cut---\nfunction addWebpackPlugin (pluginOrGetter: WebpackPluginInstance | WebpackPluginInstance[] | (() => WebpackPluginInstance | WebpackPluginInstance[]), options?: ExtendWebpackConfigOptions): void\n",[1041,3439,3440,3444,3465,3485,3489],{"__ignoreMap":354},[1096,3441,3442],{"class":1098,"line":1099},[1096,3443,1698],{"class":1350},[1096,3445,3446,3448,3450,3452,3455,3457,3459,3461,3463],{"class":1098,"line":1137},[1096,3447,1103],{"class":1102},[1096,3449,1705],{"class":1102},[1096,3451,1107],{"class":1106},[1096,3453,3454],{"class":1110}," WebpackPluginInstance",[1096,3456,1120],{"class":1106},[1096,3458,1123],{"class":1102},[1096,3460,1127],{"class":1126},[1096,3462,1038],{"class":1130},[1096,3464,1134],{"class":1126},[1096,3466,3467,3469,3471,3473,3475,3477,3479,3481,3483],{"class":1098,"line":1144},[1096,3468,1103],{"class":1102},[1096,3470,1705],{"class":1102},[1096,3472,1107],{"class":1106},[1096,3474,2205],{"class":1110},[1096,3476,1120],{"class":1106},[1096,3478,1123],{"class":1102},[1096,3480,1127],{"class":1126},[1096,3482,1131],{"class":1130},[1096,3484,1134],{"class":1126},[1096,3486,3487],{"class":1098,"line":1162},[1096,3488,1753],{"class":1350},[1096,3490,3491,3493,3495,3497,3499,3501,3503,3505,3507,3509,3511,3513,3515,3517,3519,3521,3523,3525,3527,3529,3531,3533,3535,3537],{"class":1098,"line":1175},[1096,3492,1758],{"class":1192},[1096,3494,3141],{"class":1153},[1096,3496,1366],{"class":1106},[1096,3498,2786],{"class":1186},[1096,3500,1376],{"class":1210},[1096,3502,3454],{"class":1778},[1096,3504,2793],{"class":1210},[1096,3506,3454],{"class":1778},[1096,3508,2798],{"class":1110},[1096,3510,2801],{"class":1210},[1096,3512,1366],{"class":1110},[1096,3514,1361],{"class":1106},[1096,3516,1193],{"class":1192},[1096,3518,3454],{"class":1778},[1096,3520,2793],{"class":1210},[1096,3522,3454],{"class":1778},[1096,3524,2816],{"class":1110},[1096,3526,1114],{"class":1106},[1096,3528,1793],{"class":1186},[1096,3530,1796],{"class":1210},[1096,3532,2205],{"class":1778},[1096,3534,1189],{"class":1106},[1096,3536,1376],{"class":1210},[1096,3538,1805],{"class":1785},[2832,3540],{},[1024,3542,2836,3543,3548,3549,2848],{},[1028,3544,3547],{"href":3545,"rel":3546},"https:\u002F\u002Fwebpack.js.org\u002Fconcepts\u002Fplugins\u002F",[1032],"webpack 官网"," 以获取更多关于 webpack 插件的信息。你也可以使用 ",[1028,3550,3553],{"href":3551,"rel":3552},"https:\u002F\u002Fwebpack.js.org\u002Fawesome-webpack\u002F#webpack-plugins",[1032],"这个集合",[1083,3555,1817],{"id":3556},"参数-3",[1024,3558,3559,3563],{},[1672,3560,3561],{},[1041,3562,2786],{},"：一个 webpack 插件实例或一组 webpack 插件实例。如果提供的是函数，它必须返回一个 webpack 插件实例或一组 webpack 插件实例。该函数也可以是异步的或返回一个 Promise，从而实现插件的懒加载。",[1024,3565,3566,1832],{},[1672,3567,3568],{},[1041,3569,1831],{},[1834,3571,3572,3584],{},[1837,3573,3574],{},[1840,3575,3576,3578,3580,3582],{},[1843,3577,1845],{},[1843,3579,1688],{},[1843,3581,1850],{},[1843,3583,1853],{},[1855,3585,3586,3604,3622,3640,3658],{},[1840,3587,3588,3592,3596,3600],{},[1860,3589,3590],{},[1041,3591,1864],{},[1860,3593,3594],{},[1041,3595,1869],{},[1860,3597,3598],{},[1041,3599,1874],{},[1860,3601,1877,3602,1881],{},[1041,3603,1880],{},[1840,3605,3606,3610,3614,3618],{},[1860,3607,3608],{},[1041,3609,1888],{},[1860,3611,3612],{},[1041,3613,1869],{},[1860,3615,3616],{},[1041,3617,1874],{},[1860,3619,1877,3620,1901],{},[1041,3621,1880],{},[1840,3623,3624,3628,3632,3636],{},[1860,3625,3626],{},[1041,3627,150],{},[1860,3629,3630],{},[1041,3631,1869],{},[1860,3633,3634],{},[1041,3635,1874],{},[1860,3637,1877,3638,1920],{},[1041,3639,1880],{},[1840,3641,3642,3646,3650,3654],{},[1860,3643,3644],{},[1041,3645,1552],{},[1860,3647,3648],{},[1041,3649,1869],{},[1860,3651,3652],{},[1041,3653,1874],{},[1860,3655,1877,3656,1950],{},[1041,3657,1880],{},[1840,3659,3660,3664,3668,3672],{},[1860,3661,3662],{},[1041,3663,1963],{},[1860,3665,3666],{},[1041,3667,1869],{},[1860,3669,3670],{},[1041,3671,1874],{},[1860,3673,1877,3674,1976,3676,1980,3678,1984],{},[1041,3675,1880],{},[1041,3677,1979],{},[1041,3679,1983],{},[1060,3681,3683],{"id":3682},"addbuildplugin",[1041,3684,1057],{},[1024,3686,3687,1033,3689,3691],{},[1041,3688,1050],{},[1041,3690,1054],{}," 与构建器无关的版本。如果 Vite 和 webpack 配置都存在，它会将插件添加到两者。",[1083,3693,1688],{"id":3694},"类型-4",[1087,3696,3698],{"className":1089,"code":3697,"language":1091,"meta":1092,"style":354},"\u002F\u002F @errors: 2391\nimport type { ExtendConfigOptions } from '@nuxt\u002Fkit'\nimport type { Plugin as VitePlugin } from 'vite'\nimport type { WebpackPluginInstance } from 'webpack'\nimport type { RspackPluginInstance } from '@rspack\u002Fcore'\n\ninterface AddBuildPluginFactory {\n  vite?: () => VitePlugin | VitePlugin[]\n  webpack?: () => WebpackPluginInstance | WebpackPluginInstance[]\n  rspack?: () => RspackPluginInstance | RspackPluginInstance[]\n}\n\u002F\u002F ---cut---\nfunction addBuildPlugin (pluginFactory: AddBuildPluginFactory, options?: ExtendConfigOptions): void\n",[1041,3699,3700,3704,3725,3749,3769,3791,3795,3805,3825,3844,3863,3868,3872],{"__ignoreMap":354},[1096,3701,3702],{"class":1098,"line":1099},[1096,3703,1698],{"class":1350},[1096,3705,3706,3708,3710,3712,3715,3717,3719,3721,3723],{"class":1098,"line":1137},[1096,3707,1103],{"class":1102},[1096,3709,1705],{"class":1102},[1096,3711,1107],{"class":1106},[1096,3713,3714],{"class":1110}," ExtendConfigOptions",[1096,3716,1120],{"class":1106},[1096,3718,1123],{"class":1102},[1096,3720,1127],{"class":1126},[1096,3722,1131],{"class":1130},[1096,3724,1134],{"class":1126},[1096,3726,3727,3729,3731,3733,3735,3737,3739,3741,3743,3745,3747],{"class":1098,"line":1144},[1096,3728,1103],{"class":1102},[1096,3730,1705],{"class":1102},[1096,3732,1107],{"class":1106},[1096,3734,2736],{"class":1110},[1096,3736,1713],{"class":1102},[1096,3738,2741],{"class":1110},[1096,3740,1120],{"class":1106},[1096,3742,1123],{"class":1102},[1096,3744,1127],{"class":1126},[1096,3746,1725],{"class":1130},[1096,3748,1134],{"class":1126},[1096,3750,3751,3753,3755,3757,3759,3761,3763,3765,3767],{"class":1098,"line":1162},[1096,3752,1103],{"class":1102},[1096,3754,1705],{"class":1102},[1096,3756,1107],{"class":1106},[1096,3758,3454],{"class":1110},[1096,3760,1120],{"class":1106},[1096,3762,1123],{"class":1102},[1096,3764,1127],{"class":1126},[1096,3766,1038],{"class":1130},[1096,3768,1134],{"class":1126},[1096,3770,3771,3773,3775,3777,3780,3782,3784,3786,3789],{"class":1098,"line":1175},[1096,3772,1103],{"class":1102},[1096,3774,1705],{"class":1102},[1096,3776,1107],{"class":1106},[1096,3778,3779],{"class":1110}," RspackPluginInstance",[1096,3781,1120],{"class":1106},[1096,3783,1123],{"class":1102},[1096,3785,1127],{"class":1126},[1096,3787,3788],{"class":1130},"@rspack\u002Fcore",[1096,3790,1134],{"class":1126},[1096,3792,3793],{"class":1098,"line":1198},[1096,3794,1141],{"emptyLinePlaceholder":1140},[1096,3796,3797,3800,3803],{"class":1098,"line":1217},[1096,3798,3799],{"class":1192},"interface",[1096,3801,3802],{"class":1778}," AddBuildPluginFactory",[1096,3804,1172],{"class":1106},[1096,3806,3807,3810,3812,3814,3816,3818,3820,3822],{"class":1098,"line":1236},[1096,3808,3809],{"class":1165},"  vite",[1096,3811,1796],{"class":1210},[1096,3813,1169],{"class":1106},[1096,3815,1193],{"class":1192},[1096,3817,2741],{"class":1778},[1096,3819,2793],{"class":1210},[1096,3821,2741],{"class":1778},[1096,3823,3824],{"class":1110},"[]\n",[1096,3826,3827,3830,3832,3834,3836,3838,3840,3842],{"class":1098,"line":1267},[1096,3828,3829],{"class":1165},"  webpack",[1096,3831,1796],{"class":1210},[1096,3833,1169],{"class":1106},[1096,3835,1193],{"class":1192},[1096,3837,3454],{"class":1778},[1096,3839,2793],{"class":1210},[1096,3841,3454],{"class":1778},[1096,3843,3824],{"class":1110},[1096,3845,3846,3849,3851,3853,3855,3857,3859,3861],{"class":1098,"line":1275},[1096,3847,3848],{"class":1165},"  rspack",[1096,3850,1796],{"class":1210},[1096,3852,1169],{"class":1106},[1096,3854,1193],{"class":1192},[1096,3856,3779],{"class":1778},[1096,3858,2793],{"class":1210},[1096,3860,3779],{"class":1778},[1096,3862,3824],{"class":1110},[1096,3864,3865],{"class":1098,"line":1281},[1096,3866,3867],{"class":1106},"}\n",[1096,3869,3870],{"class":1098,"line":1435},[1096,3871,1753],{"class":1350},[1096,3873,3874,3876,3879,3881,3884,3886,3888,3890,3892,3894,3896,3898,3900],{"class":1098,"line":1462},[1096,3875,1758],{"class":1192},[1096,3877,3878],{"class":1153}," addBuildPlugin",[1096,3880,1366],{"class":1106},[1096,3882,3883],{"class":1186},"pluginFactory",[1096,3885,1376],{"class":1210},[1096,3887,3802],{"class":1778},[1096,3889,1114],{"class":1106},[1096,3891,1793],{"class":1186},[1096,3893,1796],{"class":1210},[1096,3895,3714],{"class":1778},[1096,3897,1189],{"class":1106},[1096,3899,1376],{"class":1210},[1096,3901,1805],{"class":1785},[1083,3903,1817],{"id":3904},"参数-4",[1024,3906,3907,3911,3912,3914,3915,3917],{},[1672,3908,3909],{},[1041,3910,3883],{},"：一个工厂函数，返回一个带有 ",[1041,3913,1725],{}," 和\u002F或 ",[1041,3916,1038],{}," 属性的对象。这些属性必须是返回 Vite 插件实例或一组 Vite 插件实例、和\u002F或 webpack 插件实例或一组 webpack 插件实例的函数。",[1024,3919,3920,1832],{},[1672,3921,3922],{},[1041,3923,1831],{},[1834,3925,3926,3938],{},[1837,3927,3928],{},[1840,3929,3930,3932,3934,3936],{},[1843,3931,1845],{},[1843,3933,1688],{},[1843,3935,1850],{},[1843,3937,1853],{},[1855,3939,3940,3958,3976,3994,4012],{},[1840,3941,3942,3946,3950,3954],{},[1860,3943,3944],{},[1041,3945,1864],{},[1860,3947,3948],{},[1041,3949,1869],{},[1860,3951,3952],{},[1041,3953,1874],{},[1860,3955,1877,3956,1881],{},[1041,3957,1880],{},[1840,3959,3960,3964,3968,3972],{},[1860,3961,3962],{},[1041,3963,1888],{},[1860,3965,3966],{},[1041,3967,1869],{},[1860,3969,3970],{},[1041,3971,1874],{},[1860,3973,1877,3974,1901],{},[1041,3975,1880],{},[1840,3977,3978,3982,3986,3990],{},[1860,3979,3980],{},[1041,3981,150],{},[1860,3983,3984],{},[1041,3985,1869],{},[1860,3987,3988],{},[1041,3989,1874],{},[1860,3991,1877,3992,1920],{},[1041,3993,1880],{},[1840,3995,3996,4000,4004,4008],{},[1860,3997,3998],{},[1041,3999,1552],{},[1860,4001,4002],{},[1041,4003,1869],{},[1860,4005,4006],{},[1041,4007,1874],{},[1860,4009,1877,4010,1950],{},[1041,4011,1880],{},[1840,4013,4014,4018,4022,4026],{},[1860,4015,4016],{},[1041,4017,1963],{},[1860,4019,4020],{},[1041,4021,1869],{},[1860,4023,4024],{},[1041,4025,1874],{},[1860,4027,1877,4028,1976,4030,1980,4032,1984],{},[1041,4029,1880],{},[1041,4031,1979],{},[1041,4033,1983],{},[1060,4035,4037],{"id":4036},"setbuildoutput",[1041,4038,4039],{},"setBuildOutput",[1024,4041,4042,4043,4046],{},"为给定的 key 设置一个构建输出提供器。构建输出是构建器（Vite、webpack、Rspack 或自定义构建器）与 Nitro 服务端运行时之间的契约：每个 key 都映射到一个 ",[1041,4044,4045],{},"nuxt\u002F*"," 子路径导入，服务端运行时在构建时会解析它。这通常在构建器内部，或在一个参与构建的模块中调用。",[1807,4048],{"to":4049},"\u002Fdocs\u002Fguide\u002Fgoing-further\u002Fbuilders#the-build-output-contract",[1024,4051,4052],{},"了解构建输出契约是如何工作的。\n:",[1083,4054,1688],{"id":4055},"类型-5",[1087,4057,4059],{"className":1089,"code":4058,"language":1091,"meta":1092,"style":354},"\u002F\u002F @errors: 2391\nimport type { NuxtBuildOutputs } from '@nuxt\u002Fschema'\n\u002F\u002F ---cut---\nfunction setBuildOutput\u003CK extends keyof NuxtBuildOutputs> (key: K, provider: NuxtBuildOutputs[K]): void\n",[1041,4060,4061,4065,4087,4091],{"__ignoreMap":354},[1096,4062,4063],{"class":1098,"line":1099},[1096,4064,1698],{"class":1350},[1096,4066,4067,4069,4071,4073,4076,4078,4080,4082,4085],{"class":1098,"line":1137},[1096,4068,1103],{"class":1102},[1096,4070,1705],{"class":1102},[1096,4072,1107],{"class":1106},[1096,4074,4075],{"class":1110}," NuxtBuildOutputs",[1096,4077,1120],{"class":1106},[1096,4079,1123],{"class":1102},[1096,4081,1127],{"class":1126},[1096,4083,4084],{"class":1130},"@nuxt\u002Fschema",[1096,4086,1134],{"class":1126},[1096,4088,4089],{"class":1098,"line":1144},[1096,4090,1753],{"class":1350},[1096,4092,4093,4095,4098,4101,4104,4107,4110,4112,4115,4117,4120,4122,4125,4127,4130,4132,4134,4137,4139,4141,4143,4145],{"class":1098,"line":1162},[1096,4094,1758],{"class":1192},[1096,4096,4097],{"class":1153}," setBuildOutput",[1096,4099,4100],{"class":1106},"\u003C",[1096,4102,4103],{"class":1778},"K",[1096,4105,4106],{"class":1192}," extends",[1096,4108,4109],{"class":1210}," keyof",[1096,4111,4075],{"class":1778},[1096,4113,4114],{"class":1106},">",[1096,4116,1366],{"class":1106},[1096,4118,4119],{"class":1186},"key",[1096,4121,1376],{"class":1210},[1096,4123,4124],{"class":1778}," K",[1096,4126,1114],{"class":1106},[1096,4128,4129],{"class":1186}," provider",[1096,4131,1376],{"class":1210},[1096,4133,4075],{"class":1778},[1096,4135,4136],{"class":1110},"[",[1096,4138,4103],{"class":1778},[1096,4140,3264],{"class":1110},[1096,4142,1189],{"class":1106},[1096,4144,1376],{"class":1210},[1096,4146,1805],{"class":1785},[1083,4148,1817],{"id":4149},"参数-5",[1024,4151,4152,4156,4157,1051,4160,1051,4163,1051,4166,1051,4169,2413,4172,4175],{},[1672,4153,4154],{},[1041,4155,4119],{},"：构建输出 key。可以是 ",[1041,4158,4159],{},"serverEntry",[1041,4161,4162],{},"clientManifest",[1041,4164,4165],{},"clientPrecomputed",[1041,4167,4168],{},"ssrStyles",[1041,4170,4171],{},"entryChunkName",[1041,4173,4174],{},"entryIds"," 之一。",[1024,4177,4178,4183,4184,4186],{},[1672,4179,4180],{},[1041,4181,4182],{},"provider","：该 key 对应的值：一个（可能是异步的）函数，以字符串形式返回模块主体，当服务端构建解析对应的 ",[1041,4185,4045],{}," 导入时会被惰性读取。",[1083,4188,4189],{"id":4189},"示例",[1087,4191,4193],{"className":1089,"code":4192,"language":1091,"meta":354,"style":354},"import { setBuildOutput } from '@nuxt\u002Fkit'\n\n\u002F\u002F 通过绝对说明符重新导出已构建的 SSR 入口\nsetBuildOutput('serverEntry', () => `export { default } from ${JSON.stringify(serverEntryURL)}`)\n\n\u002F\u002F 提供序列化后的客户端 manifest\nsetBuildOutput('clientManifest', () => `export default ${serializedManifest}`)\n\n\u002F\u002F 重新导出为每个组件样式映射 `nuxt\u002Fstyles` 而发出的文件\nsetBuildOutput('ssrStyles', () => `export { default } from ${JSON.stringify(pathToFileURL(resolve(serverDir, 'styles.mjs')).href)}`)\n",[1041,4194,4195,4213,4217,4222,4270,4274,4279,4311,4315,4320],{"__ignoreMap":354},[1096,4196,4197,4199,4201,4203,4205,4207,4209,4211],{"class":1098,"line":1099},[1096,4198,1103],{"class":1102},[1096,4200,1107],{"class":1106},[1096,4202,4097],{"class":1110},[1096,4204,1120],{"class":1106},[1096,4206,1123],{"class":1102},[1096,4208,1127],{"class":1126},[1096,4210,1131],{"class":1130},[1096,4212,1134],{"class":1126},[1096,4214,4215],{"class":1098,"line":1137},[1096,4216,1141],{"emptyLinePlaceholder":1140},[1096,4218,4219],{"class":1098,"line":1144},[1096,4220,4221],{"class":1350},"\u002F\u002F 通过绝对说明符重新导出已构建的 SSR 入口\n",[1096,4223,4224,4226,4228,4230,4232,4234,4236,4238,4240,4243,4246,4249,4252,4254,4257,4260,4263,4265,4268],{"class":1098,"line":1162},[1096,4225,4039],{"class":1153},[1096,4227,1156],{"class":1110},[1096,4229,1256],{"class":1126},[1096,4231,4159],{"class":1130},[1096,4233,1256],{"class":1126},[1096,4235,1114],{"class":1106},[1096,4237,1169],{"class":1106},[1096,4239,1193],{"class":1192},[1096,4241,4242],{"class":1126}," `",[1096,4244,4245],{"class":1130},"export { default } from ",[1096,4247,4248],{"class":1126},"${",[1096,4250,4251],{"class":3312},"JSON",[1096,4253,1204],{"class":1126},[1096,4255,4256],{"class":1153},"stringify",[1096,4258,1156],{"class":4259},"szYI0",[1096,4261,4262],{"class":1110},"serverEntryURL",[1096,4264,1189],{"class":4259},[1096,4266,4267],{"class":1126},"}`",[1096,4269,1264],{"class":1110},[1096,4271,4272],{"class":1098,"line":1175},[1096,4273,1141],{"emptyLinePlaceholder":1140},[1096,4275,4276],{"class":1098,"line":1198},[1096,4277,4278],{"class":1350},"\u002F\u002F 提供序列化后的客户端 manifest\n",[1096,4280,4281,4283,4285,4287,4289,4291,4293,4295,4297,4299,4302,4304,4307,4309],{"class":1098,"line":1217},[1096,4282,4039],{"class":1153},[1096,4284,1156],{"class":1110},[1096,4286,1256],{"class":1126},[1096,4288,4162],{"class":1130},[1096,4290,1256],{"class":1126},[1096,4292,1114],{"class":1106},[1096,4294,1169],{"class":1106},[1096,4296,1193],{"class":1192},[1096,4298,4242],{"class":1126},[1096,4300,4301],{"class":1130},"export default ",[1096,4303,4248],{"class":1126},[1096,4305,4306],{"class":1110},"serializedManifest",[1096,4308,4267],{"class":1126},[1096,4310,1264],{"class":1110},[1096,4312,4313],{"class":1098,"line":1236},[1096,4314,1141],{"emptyLinePlaceholder":1140},[1096,4316,4317],{"class":1098,"line":1267},[1096,4318,4319],{"class":1350},"\u002F\u002F 重新导出为每个组件样式映射 `nuxt\u002Fstyles` 而发出的文件\n",[1096,4321,4322,4324,4326,4328,4330,4332,4334,4336,4338,4340,4342,4344,4346,4348,4350,4352,4355,4357,4360,4362,4365,4367,4369,4372,4374,4377,4379,4382,4384,4386],{"class":1098,"line":1275},[1096,4323,4039],{"class":1153},[1096,4325,1156],{"class":1110},[1096,4327,1256],{"class":1126},[1096,4329,4168],{"class":1130},[1096,4331,1256],{"class":1126},[1096,4333,1114],{"class":1106},[1096,4335,1169],{"class":1106},[1096,4337,1193],{"class":1192},[1096,4339,4242],{"class":1126},[1096,4341,4245],{"class":1130},[1096,4343,4248],{"class":1126},[1096,4345,4251],{"class":3312},[1096,4347,1204],{"class":1126},[1096,4349,4256],{"class":1153},[1096,4351,1156],{"class":4259},[1096,4353,4354],{"class":1153},"pathToFileURL",[1096,4356,1156],{"class":4259},[1096,4358,4359],{"class":1153},"resolve",[1096,4361,1156],{"class":4259},[1096,4363,4364],{"class":1110},"serverDir",[1096,4366,1114],{"class":1126},[1096,4368,1127],{"class":1126},[1096,4370,4371],{"class":1130},"styles.mjs",[1096,4373,1256],{"class":1126},[1096,4375,4376],{"class":4259},"))",[1096,4378,1204],{"class":1126},[1096,4380,4381],{"class":1110},"href",[1096,4383,1189],{"class":4259},[1096,4385,4267],{"class":1126},[1096,4387,1264],{"class":1110},[4389,4390,4391],"style",{},"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 .sF54B, html code.shiki .sF54B{--shiki-light:#39ADB5;--shiki-default:#E1E4E8;--shiki-dark:#89DDFF}html pre.shiki code .smVNa, html code.shiki .smVNa{--shiki-light:#90A4AE;--shiki-default:#E1E4E8;--shiki-dark:#BABED8}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 .srJn9, html code.shiki .srJn9{--shiki-light:#6182B8;--shiki-default:#B392F0;--shiki-dark:#82AAFF}html pre.shiki code .syA7L, html code.shiki .syA7L{--shiki-light:#E53935;--shiki-default:#B392F0;--shiki-dark:#F07178}html pre.shiki code .sOtFm, html code.shiki .sOtFm{--shiki-light:#E53935;--shiki-default:#E1E4E8;--shiki-dark:#F07178}html pre.shiki code .ssIVr, html code.shiki .ssIVr{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#FFAB70;--shiki-default-font-style:inherit;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sV7Px, html code.shiki .sV7Px{--shiki-light:#9C3EDA;--shiki-default:#F97583;--shiki-dark:#C792EA}html pre.shiki code .sXPRQ, html code.shiki .sXPRQ{--shiki-light:#39ADB5;--shiki-default:#F97583;--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 .sZqJ9, html code.shiki .sZqJ9{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sJK67, html code.shiki .sJK67{--shiki-light:#E2931D;--shiki-default:#B392F0;--shiki-dark:#FFCB6B}html pre.shiki code .seQRr, html code.shiki .seQRr{--shiki-light:#E2931D;--shiki-default:#79B8FF;--shiki-dark:#FFCB6B}html pre.shiki code .sIzw5, html code.shiki .sIzw5{--shiki-light:#90A4AE;--shiki-light-font-weight:inherit;--shiki-default:#85E89D;--shiki-default-font-weight:bold;--shiki-dark:#BABED8;--shiki-dark-font-weight:inherit}html pre.shiki code .sUiHA, html code.shiki .sUiHA{--shiki-light:#91B859;--shiki-default:#DBEDFF;--shiki-dark:#C3E88D}html pre.shiki code .si1Qm, html code.shiki .si1Qm{--shiki-light:#FF5370;--shiki-default:#79B8FF;--shiki-dark:#FF9CAC}html pre.shiki code .sJTDI, html code.shiki .sJTDI{--shiki-light:#90A4AE;--shiki-default:#79B8FF;--shiki-dark:#BABED8}html pre.shiki code .szYI0, html code.shiki .szYI0{--shiki-light:#90A4AE;--shiki-default:#9ECBFF;--shiki-dark:#BABED8}",{"title":354,"searchDepth":1144,"depth":1144,"links":4393},[4394,4399,4404,4409,4414,4418],{"id":1062,"depth":1137,"text":1043,"children":4395},[4396,4397,4398],{"id":1085,"depth":1144,"text":1085},{"id":1688,"depth":1144,"text":1688},{"id":1817,"depth":1144,"text":1817},{"id":1987,"depth":1137,"text":1046,"children":4400},[4401,4402,4403],{"id":1995,"depth":1144,"text":1085},{"id":2159,"depth":1144,"text":1688},{"id":2273,"depth":1144,"text":1817},{"id":2399,"depth":1137,"text":1050,"children":4405},[4406,4407,4408],{"id":2429,"depth":1144,"text":1085},{"id":2716,"depth":1144,"text":1688},{"id":2851,"depth":1144,"text":1817},{"id":3102,"depth":1137,"text":1054,"children":4410},[4411,4412,4413],{"id":3110,"depth":1144,"text":1085},{"id":3434,"depth":1144,"text":1688},{"id":3556,"depth":1144,"text":1817},{"id":3682,"depth":1137,"text":1057,"children":4415},[4416,4417],{"id":3694,"depth":1144,"text":1688},{"id":3904,"depth":1144,"text":1817},{"id":4036,"depth":1137,"text":4039,"children":4419},[4420,4421,4422],{"id":4055,"depth":1144,"text":1688},{"id":4149,"depth":1144,"text":1817},{"id":4189,"depth":1144,"text":4189},"md",{"links":4425},[4426],{"label":4427,"icon":4428,"to":4429,"size":4430},"Source","i-simple-icons-github","https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Fblob\u002Fmain\u002Fpackages\u002Fkit\u002Fsrc\u002Fbuild.ts","xs",null,{"title":761,"description":762},"docs\u002F4.api\u002F5.kit\u002F15.builder","lgoEf2uewJiQNIte3s-d675A7LKHX1bXasGGACSxWu4",1785179860005]