[{"data":1,"prerenderedAt":439},["ShallowReactive",2],{"docs-/docs/introduction/migration":3,"docs-surround-/docs/introduction/migration":370,"sidebar-docs":380},{"id":4,"title":5,"body":6,"category":358,"description":359,"extension":360,"links":361,"meta":362,"navigation":363,"order":361,"path":366,"seo":367,"stem":368,"__hash__":369},"docs/docs/introduction/10.migration.md","迁移指南",{"type":7,"value":8,"toc":348},"minimark",[9,13,17,22,37,117,120,127,267,270,273,276,279,282,326,329,344],[10,11,12],"p",{},"Nuxt Content v3 从底层重新设计了内容集合、查询方式和类型系统。它仍然服务于 Markdown 内容管理，但在 API、集合定义和渲染方式上与 v2 有明显差异。",[14,15,16],"h2",{"id":16},"主要变化",[18,19,21],"h3",{"id":20},"查询-api","查询 API",[10,23,24,28,29,32,33,36],{},[25,26,27],"code",{},"queryContent()"," 已被基于集合的 ",[25,30,31],{},"queryCollection()"," 取代。新的查询方式要求先在 ",[25,34,35],{},"content.config.ts"," 中定义集合，再基于集合名称进行查询。",[38,39,44],"pre",{"className":40,"code":41,"language":42,"meta":43,"style":43},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const page = await queryCollection('docs')\n  .path('/docs/introduction/start')\n  .first()\n","ts","",[25,45,46,86,106],{"__ignoreMap":43},[47,48,51,55,59,63,67,71,74,77,81,83],"span",{"class":49,"line":50},"line",1,[47,52,54],{"class":53},"spNyl","const",[47,56,58],{"class":57},"sTEyZ"," page ",[47,60,62],{"class":61},"sMK4o","=",[47,64,66],{"class":65},"s7zQu"," await",[47,68,70],{"class":69},"s2Zo4"," queryCollection",[47,72,73],{"class":57},"(",[47,75,76],{"class":61},"'",[47,78,80],{"class":79},"sfazB","docs",[47,82,76],{"class":61},[47,84,85],{"class":57},")\n",[47,87,89,92,95,97,99,102,104],{"class":49,"line":88},2,[47,90,91],{"class":61},"  .",[47,93,94],{"class":69},"path",[47,96,73],{"class":57},[47,98,76],{"class":61},[47,100,101],{"class":79},"/docs/introduction/start",[47,103,76],{"class":61},[47,105,85],{"class":57},[47,107,109,111,114],{"class":49,"line":108},3,[47,110,91],{"class":61},[47,112,113],{"class":69},"first",[47,115,116],{"class":57},"()\n",[18,118,119],{"id":119},"内容集合",[10,121,122,123,126],{},"v3 推荐使用 ",[25,124,125],{},"defineCollection"," 显式声明内容来源、类型和 schema。这样可以让内容结构更清晰，也能获得更好的类型推断。",[38,128,130],{"className":40,"code":129,"language":42,"meta":43,"style":43},"import { defineCollection, defineContentConfig } from '@nuxt/content'\n\nexport default defineContentConfig({\n  collections: {\n    docs: defineCollection({\n      type: 'page',\n      source: 'docs/**/*.md'\n    })\n  }\n})\n",[25,131,132,164,170,185,198,212,230,245,253,259],{"__ignoreMap":43},[47,133,134,137,140,143,146,149,152,155,158,161],{"class":49,"line":50},[47,135,136],{"class":65},"import",[47,138,139],{"class":61}," {",[47,141,142],{"class":57}," defineCollection",[47,144,145],{"class":61},",",[47,147,148],{"class":57}," defineContentConfig",[47,150,151],{"class":61}," }",[47,153,154],{"class":65}," from",[47,156,157],{"class":61}," '",[47,159,160],{"class":79},"@nuxt/content",[47,162,163],{"class":61},"'\n",[47,165,166],{"class":49,"line":88},[47,167,169],{"emptyLinePlaceholder":168},true,"\n",[47,171,172,175,178,180,182],{"class":49,"line":108},[47,173,174],{"class":65},"export",[47,176,177],{"class":65}," default",[47,179,148],{"class":69},[47,181,73],{"class":57},[47,183,184],{"class":61},"{\n",[47,186,188,192,195],{"class":49,"line":187},4,[47,189,191],{"class":190},"swJcz","  collections",[47,193,194],{"class":61},":",[47,196,197],{"class":61}," {\n",[47,199,201,204,206,208,210],{"class":49,"line":200},5,[47,202,203],{"class":190},"    docs",[47,205,194],{"class":61},[47,207,142],{"class":69},[47,209,73],{"class":57},[47,211,184],{"class":61},[47,213,215,218,220,222,225,227],{"class":49,"line":214},6,[47,216,217],{"class":190},"      type",[47,219,194],{"class":61},[47,221,157],{"class":61},[47,223,224],{"class":79},"page",[47,226,76],{"class":61},[47,228,229],{"class":61},",\n",[47,231,233,236,238,240,243],{"class":49,"line":232},7,[47,234,235],{"class":190},"      source",[47,237,194],{"class":61},[47,239,157],{"class":61},[47,241,242],{"class":79},"docs/**/*.md",[47,244,163],{"class":61},[47,246,248,251],{"class":49,"line":247},8,[47,249,250],{"class":61},"    }",[47,252,85],{"class":57},[47,254,256],{"class":49,"line":255},9,[47,257,258],{"class":61},"  }\n",[47,260,262,265],{"class":49,"line":261},10,[47,263,264],{"class":61},"}",[47,266,85],{"class":57},[18,268,269],{"id":269},"组件渲染",[10,271,272],{},"旧版本中的部分 Content 组件已经调整或移除。迁移时应优先使用当前版本推荐的渲染方式，例如在页面中查询内容后交给内容渲染组件处理。",[18,274,275],{"id":275},"路由生成",[10,277,278],{},"如果站点使用静态生成，需要确保文档路由被显式纳入预渲染列表，避免部署后出现内容页面缺失。",[14,280,281],{"id":281},"迁移建议",[283,284,285,293,299,308,311],"ol",{},[286,287,288,289,292],"li",{},"先梳理现有 ",[25,290,291],{},"content"," 目录结构，明确哪些内容属于文档、博客或更新日志。",[286,294,295,296,298],{},"在 ",[25,297,35],{}," 中为每类内容定义集合。",[286,300,301,302,304,305,307],{},"将旧的 ",[25,303,27],{}," 调用替换为 ",[25,306,31],{},"。",[286,309,310],{},"检查 Markdown 内的本地链接，确保迁移后仍能解析到正确路由。",[286,312,313,314,317,318,321,322,325],{},"执行 ",[25,315,316],{},"npm run typecheck","、",[25,319,320],{},"npm run test:sitemap"," 和 ",[25,323,324],{},"npm run generate"," 验证迁移结果。",[14,327,328],{"id":328},"注意事项",[330,331,332,335,338,341],"ul",{},[286,333,334],{},"v3 的集合名称会影响查询代码，建议保持命名稳定。",[286,336,337],{},"静态站点需要显式处理动态内容路由。",[286,339,340],{},"如果使用自定义 Markdown 组件，应检查组件注册方式是否仍符合 Nuxt 当前版本约定。",[286,342,343],{},"迁移后应重点检查文档导航、面包屑、SEO 信息和 sitemap。",[345,346,347],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":43,"searchDepth":88,"depth":88,"links":349},[350,356,357],{"id":16,"depth":88,"text":16,"children":351},[352,353,354,355],{"id":20,"depth":108,"text":21},{"id":119,"depth":108,"text":119},{"id":269,"depth":108,"text":269},{"id":275,"depth":108,"text":275},{"id":281,"depth":88,"text":281},{"id":328,"depth":88,"text":328},"入门指南","如何从 Nuxt Content v2 迁移到 v3","md",null,{},{"title":364,"icon":365},"迁移","i-lucide-arrow-right","/docs/introduction/migration",{"title":5,"description":359},"docs/introduction/10.migration","xXcPToo7670AnMKi2baS1RuamTmWYXQB7arCVtfUFmY",[371,375],{"title":372,"path":101,"stem":373,"icon":374,"children":-1},"介绍","docs/introduction/1.start","i-lucide-info",{"title":376,"path":377,"stem":378,"icon":379,"children":-1},"手动安装","/docs/introduction/manual-installation","docs/introduction/11.manual-installation","i-lucide-terminal",[381,388,393,399,404,410,416,422,425,427,429,434],{"title":382,"path":383,"category":384,"order":361,"navigation":385},"定义内容集合","/docs/framework/define","进阶教程",{"title":386,"icon":387},"定义","i-lucide-file-text",{"title":389,"path":390,"category":384,"order":361,"navigation":391},"前置准备","/docs/framework/prerequisites",{"title":389,"icon":392},"i-lucide-database",{"title":394,"path":395,"category":384,"order":361,"navigation":396},"集合源","/docs/framework/sources",{"title":397,"icon":398},"源","i-lucide-upload",{"title":400,"path":401,"category":384,"order":361,"navigation":402},"集合类型","/docs/framework/types",{"title":403,"icon":387},"类型",{"title":405,"path":406,"category":384,"order":361,"navigation":407},"模式验证器","/docs/framework/validators",{"title":408,"icon":409},"验证器","i-lucide-check-circle",{"title":411,"path":412,"category":358,"order":361,"navigation":413},"宝塔面板部署","/docs/introduction/bt",{"title":414,"icon":415},"宝塔部署","i-lucide-server",{"title":417,"path":418,"category":358,"order":361,"navigation":419},"开源与商业化","/docs/introduction/configuration",{"title":420,"icon":421},"商业化","i-lucide-dollar-sign",{"title":423,"path":101,"category":358,"order":361,"navigation":424},"蓝网AI介绍",{"title":372,"icon":374},{"title":5,"path":366,"category":358,"order":361,"navigation":426},{"title":364,"icon":365},{"title":376,"path":377,"category":358,"order":361,"navigation":428},{"title":376,"icon":379},{"title":430,"path":431,"category":358,"order":361,"navigation":432},"Docker安装","/docs/introduction/docker-installation",{"title":430,"icon":433},"i-lucide-box",{"title":435,"path":436,"category":358,"order":361,"navigation":437},"演示环境","/docs/introduction/demo",{"title":435,"icon":438},"i-lucide-download",1783496129925]