[{"data":1,"prerenderedAt":637},["ShallowReactive",2],{"$fen922M9aBBBGS7gEr37q12a4sAhxXmwCENBD1e0zskM":3,"\u002Fdocs\u002Fconcept\u002Flayout":278,"\u002Fdocs\u002Fconcept\u002Flayout-surround":632},[4,22,99,167,189,267],{"title":5,"titleTemplate":6,"icon":7,"redirect":8,"path":9,"stem":10,"children":11,"page":21},"起步指南",null,"i-lucide:rocket","\u002Fdocs\u002Fguide\u002Fintroduction","\u002Fdocs\u002Fguide","docs\u002F1.guide",[12,16],{"title":13,"path":8,"stem":14,"titleTemplate":6,"icon":15},"介绍","docs\u002F1.guide\u002F01.introduction","i-lucide:bot",{"title":17,"path":18,"stem":19,"titleTemplate":6,"icon":20},"安装","\u002Fdocs\u002Fguide\u002Finstallation","docs\u002F1.guide\u002F02.installation","i-lucide:download",false,{"title":23,"path":24,"stem":25,"children":26,"titleTemplate":6,"icon":29},"使用手册","\u002Fdocs\u002Fmanual","docs\u002F2.manual\u002F00.index",[27,30,35,40,57,78],{"title":23,"path":24,"stem":25,"titleTemplate":28,"icon":29},"%s | Oiyo","i-lucide:book-open-check",{"title":31,"path":32,"stem":33,"titleTemplate":6,"icon":34},"工程接入","\u002Fdocs\u002Fmanual\u002Fengineering","docs\u002F2.manual\u002F01.engineering","i-lucide:plug",{"title":36,"path":37,"stem":38,"titleTemplate":6,"icon":39},"配置系统","\u002Fdocs\u002Fmanual\u002Fconfiguration","docs\u002F2.manual\u002F02.configuration","i-lucide:sliders-horizontal",{"title":41,"titleTemplate":6,"defaultOpen":42,"icon":43,"path":44,"stem":45,"children":46,"page":21},"扫描导入",true,"i-lucide:scan-line","\u002Fdocs\u002Fmanual\u002Fscan","docs\u002F2.manual\u002F03.scan",[47,52],{"title":48,"path":49,"stem":50,"titleTemplate":6,"icon":51},"API 导入","\u002Fdocs\u002Fmanual\u002Fscan\u002Fapi","docs\u002F2.manual\u002F03.scan\u002F01.api","i-lucide:import",{"title":53,"path":54,"stem":55,"titleTemplate":6,"icon":56},"组件注册","\u002Fdocs\u002Fmanual\u002Fscan\u002Fcomponents","docs\u002F2.manual\u002F03.scan\u002F02.components","i-lucide:blocks",{"title":58,"titleTemplate":6,"defaultOpen":42,"icon":59,"path":60,"stem":61,"children":62,"page":21},"路由系统","i-lucide:map","\u002Fdocs\u002Fmanual\u002Fpage","docs\u002F2.manual\u002F04.page",[63,68,73],{"title":64,"path":65,"stem":66,"titleTemplate":6,"icon":67},"页面注册","\u002Fdocs\u002Fmanual\u002Fpage\u002Fregister","docs\u002F2.manual\u002F04.page\u002F01.register","i-lucide:file-box",{"title":69,"path":70,"stem":71,"titleTemplate":6,"icon":72},"页面元信息","\u002Fdocs\u002Fmanual\u002Fpage\u002Fmeta","docs\u002F2.manual\u002F04.page\u002F02.meta","i-lucide:file-cog",{"title":74,"path":75,"stem":76,"titleTemplate":6,"icon":77},"全局页面配置","\u002Fdocs\u002Fmanual\u002Fpage\u002Fconfig","docs\u002F2.manual\u002F04.page\u002F03.config","i-lucide:palette",{"title":79,"titleTemplate":6,"defaultOpen":42,"icon":80,"path":81,"stem":82,"children":83,"page":21},"视图结构","i-lucide:panels-top-left","\u002Fdocs\u002Fmanual\u002Fshell","docs\u002F2.manual\u002F05.shell",[84,89,94],{"title":85,"path":86,"stem":87,"titleTemplate":6,"icon":88},"应用骨架","\u002Fdocs\u002Fmanual\u002Fshell\u002Fapp-shell","docs\u002F2.manual\u002F05.shell\u002F01.app-shell","i-lucide:app-window",{"title":90,"path":91,"stem":92,"titleTemplate":6,"icon":93},"根上下文","\u002Fdocs\u002Fmanual\u002Fshell\u002Froot-context","docs\u002F2.manual\u002F05.shell\u002F02.root-context","i-lucide:network",{"title":95,"path":96,"stem":97,"titleTemplate":6,"icon":98},"布局系统","\u002Fdocs\u002Fmanual\u002Fshell\u002Flayout","docs\u002F2.manual\u002F05.shell\u002F03.layout","i-lucide:layout-template",{"title":100,"path":101,"stem":102,"children":103,"titleTemplate":6,"icon":166},"项目结构","\u002Fdocs\u002Fstructure","docs\u002F3.structure\u002F0.index",[104,106,111,152,156,161],{"title":100,"path":101,"stem":102,"titleTemplate":28,"icon":105},"i-lucide-layers",{"title":107,"path":108,"stem":109,"titleTemplate":6,"icon":110},".oiyo","\u002Fdocs\u002Fstructure\u002Foiyo","docs\u002F3.structure\u002F1.oiyo","i-catppuccin:folder-temp",{"title":112,"titleTemplate":6,"defaultOpen":42,"icon":113,"path":114,"stem":115,"children":116,"page":21},"src","i-catppuccin:folder-src","\u002Fdocs\u002Fstructure\u002Fsrc","docs\u002F3.structure\u002F1.src",[117,122,127,132,137,142,147],{"title":118,"path":119,"stem":120,"titleTemplate":6,"icon":121},"components","\u002Fdocs\u002Fstructure\u002Fsrc\u002Fcomponents","docs\u002F3.structure\u002F1.src\u002F1.components","i-catppuccin:folder-components",{"title":123,"path":124,"stem":125,"titleTemplate":6,"icon":126},"composables","\u002Fdocs\u002Fstructure\u002Fsrc\u002Fcomposables","docs\u002F3.structure\u002F1.src\u002F1.composables","i-catppuccin:folder-composables",{"title":128,"path":129,"stem":130,"titleTemplate":6,"icon":131},"layouts","\u002Fdocs\u002Fstructure\u002Fsrc\u002Flayouts","docs\u002F3.structure\u002F1.src\u002F1.layouts","i-catppuccin:folder-layouts",{"title":133,"path":134,"stem":135,"titleTemplate":6,"icon":136},"packages","\u002Fdocs\u002Fstructure\u002Fsrc\u002Fpackages","docs\u002F3.structure\u002F1.src\u002F1.packages","i-catppuccin:folder-packages",{"title":138,"path":139,"stem":140,"titleTemplate":6,"icon":141},"pages","\u002Fdocs\u002Fstructure\u002Fsrc\u002Fpages","docs\u002F3.structure\u002F1.src\u002F1.pages","i-catppuccin:folder-views",{"title":143,"path":144,"stem":145,"titleTemplate":6,"icon":146},"App.vue","\u002Fdocs\u002Fstructure\u002Fsrc\u002Fapp","docs\u002F3.structure\u002F1.src\u002F2.app","i-catppuccin:vue",{"title":148,"path":149,"stem":150,"titleTemplate":6,"icon":151},"pages.config.ts","\u002Fdocs\u002Fstructure\u002Fsrc\u002Fpages-config","docs\u002F3.structure\u002F1.src\u002F3.pages-config","i-catppuccin:typescript",{"title":153,"path":154,"stem":155,"titleTemplate":6,"icon":151},"oiyo.config.ts","\u002Fdocs\u002Fstructure\u002Foiyo-config","docs\u002F3.structure\u002F3.oiyo-config",{"title":157,"path":158,"stem":159,"titleTemplate":6,"icon":160},"package.json","\u002Fdocs\u002Fstructure\u002Fpackage","docs\u002F3.structure\u002F3.package","i-catppuccin:package-json",{"title":162,"path":163,"stem":164,"titleTemplate":6,"icon":165},"tsconfig.json","\u002Fdocs\u002Fstructure\u002Ftsconfig","docs\u002F3.structure\u002F3.tsconfig","i-catppuccin:typescript-config","i-lucide:layers",{"title":168,"titleTemplate":6,"icon":169,"redirect":170,"path":171,"stem":172,"children":173,"page":21},"核心概念","i-lucide:leaf","\u002Fdocs\u002Fconcept\u002Fapp","\u002Fdocs\u002Fconcept","docs\u002F4.concept",[174,178,182,185],{"title":175,"path":170,"stem":176,"titleTemplate":6,"icon":177},"根部视图","docs\u002F4.concept\u002F01.app","i-lucide:route",{"title":179,"path":180,"stem":181,"titleTemplate":6,"icon":59},"自动路由","\u002Fdocs\u002Fconcept\u002Froute","docs\u002F4.concept\u002F02.route",{"title":95,"path":183,"stem":184,"titleTemplate":6,"icon":98},"\u002Fdocs\u002Fconcept\u002Flayout","docs\u002F4.concept\u002F03.layout",{"title":186,"path":187,"stem":188,"titleTemplate":6,"icon":43},"自动导入","\u002Fdocs\u002Fconcept\u002Fauto-imports","docs\u002F4.concept\u002F04.auto-imports",{"title":190,"path":191,"stem":192,"children":193,"titleTemplate":6,"icon":266},"API","\u002Fdocs\u002Fapi","docs\u002F5.api\u002F00.index",[194,196,210,220,234,248],{"title":195,"path":191,"stem":192,"titleTemplate":28},"API 参考",{"title":197,"titleTemplate":6,"defaultOpen":42,"icon":198,"path":199,"stem":200,"children":201,"page":21},"配置","i-lucide:settings","\u002Fdocs\u002Fapi\u002Fconfig","docs\u002F5.api\u002F01.config",[202,206],{"title":203,"path":204,"stem":205,"titleTemplate":6},"defineOiyoConfig","\u002Fdocs\u002Fapi\u002Fconfig\u002Fdefine-oiyo-config","docs\u002F5.api\u002F01.config\u002F01.define-oiyo-config",{"title":207,"path":208,"stem":209,"titleTemplate":6},"definePagesConfig","\u002Fdocs\u002Fapi\u002Fconfig\u002Fdefine-pages-config","docs\u002F5.api\u002F01.config\u002F02.define-pages-config",{"title":211,"titleTemplate":6,"defaultOpen":42,"icon":212,"path":213,"stem":214,"children":215,"page":21},"运行时","i-lucide:shrub","\u002Fdocs\u002Fapi\u002Fruntime","docs\u002F5.api\u002F02.runtime",[216],{"title":217,"path":218,"stem":219,"titleTemplate":6},"Vue \u002F UniApp","\u002Fdocs\u002Fapi\u002Fruntime\u002Freference","docs\u002F5.api\u002F02.runtime\u002F01.reference",{"title":221,"titleTemplate":6,"defaultOpen":42,"icon":222,"path":223,"stem":224,"children":225,"page":21},"宏","i-lucide:wand","\u002Fdocs\u002Fapi\u002Fmacro","docs\u002F5.api\u002F04.macro",[226,230],{"title":227,"path":228,"stem":229,"titleTemplate":6},"defineRootContext","\u002Fdocs\u002Fapi\u002Fmacro\u002Fdefine-root-context","docs\u002F5.api\u002F04.macro\u002F01.define-root-context",{"title":231,"path":232,"stem":233,"titleTemplate":6},"definePageMeta","\u002Fdocs\u002Fapi\u002Fmacro\u002Fdefine-page-meta","docs\u002F5.api\u002F04.macro\u002F02.define-page-meta",{"title":235,"titleTemplate":6,"defaultOpen":42,"icon":236,"path":237,"stem":238,"children":239,"page":21},"组件","i-lucide:component","\u002Fdocs\u002Fapi\u002Fcomponents","docs\u002F5.api\u002F05.components",[240,244],{"title":241,"path":242,"stem":243,"titleTemplate":6},"\u003COiyoPage>","\u002Fdocs\u002Fapi\u002Fcomponents\u002Foiyo-page","docs\u002F5.api\u002F05.components\u002F01.oiyo-page",{"title":245,"path":246,"stem":247,"titleTemplate":6},"\u003COiyoLayout>","\u002Fdocs\u002Fapi\u002Fcomponents\u002Foiyo-layout","docs\u002F5.api\u002F05.components\u002F02.oiyo-layout",{"title":249,"titleTemplate":6,"defaultOpen":42,"icon":250,"path":251,"stem":252,"children":253,"page":21},"命令","i-lucide:command","\u002Fdocs\u002Fapi\u002Fcli","docs\u002F5.api\u002F06.cli",[254,258,262],{"title":255,"path":256,"stem":257,"titleTemplate":6},"oiyo prepare","\u002Fdocs\u002Fapi\u002Fcli\u002Foiyo-prepare","docs\u002F5.api\u002F06.cli\u002F00.oiyo-prepare",{"title":259,"path":260,"stem":261,"titleTemplate":6},"oiyo dev","\u002Fdocs\u002Fapi\u002Fcli\u002Foiyo-dev","docs\u002F5.api\u002F06.cli\u002F01.oiyo-dev",{"title":263,"path":264,"stem":265,"titleTemplate":6},"oiyo build","\u002Fdocs\u002Fapi\u002Fcli\u002Foiyo-build","docs\u002F5.api\u002F06.cli\u002F02.oiyo-build","i-lucide:braces",{"title":268,"titleTemplate":6,"icon":269,"redirect":270,"path":271,"stem":272,"children":273,"page":21},"沟通交流","i-lucide:message-circle-question","\u002Fdocs\u002Fcommunity\u002Fassist","\u002Fdocs\u002Fcommunity","docs\u002F9.community",[274],{"title":275,"path":270,"stem":276,"titleTemplate":6,"icon":277},"加群互助","docs\u002F9.community\u002F01.assist","i-lucide:scan-qr-code",{"id":279,"title":95,"body":280,"description":626,"extension":627,"meta":628,"navigation":629,"path":183,"seo":630,"stem":184,"titleTemplate":6,"__hash__":631},"docs\u002Fdocs\u002F4.concept\u002F03.layout.md",{"type":281,"value":282,"toc":618},"minimark",[283,287,290,294,297,314,317,399,402,413,416,457,464,467,474,540,543,546,549,552,577,587,590,601,604,609,614],[284,285,286],"p",{},"布局是“包裹页面的公共容器”。它的目的不是增加抽象层，而是把真实项目里会反复出现的页面骨架收拢到一个地方：导航栏、统一背景、公共 padding，或某一类页面的固定结构。",[284,288,289],{},"这页只解释布局系统的机制与约束，具体如何落地到文件与代码请看使用指南。",[291,292,293],"h2",{"id":293},"渲染链路",[284,295,296],{},"布局系统的关键是“页面内容如何被包裹”。在渲染链路上可以把它理解成：",[298,299,300,307],"ul",{},[301,302,303,306],"li",{},[304,305,143],"code",{}," 提供两个入口点：布局容器与页面插槽",[301,308,309,310,313],{},"布局组件通过 ",[304,311,312],{},"\u003Cslot \u002F>"," 接收页面内容并渲染在骨架中",[284,315,316],{},"形状示意（强调结构关系，不展开做法）：",[318,319,325],"pre",{"className":320,"code":321,"filename":322,"language":323,"meta":324,"style":324},"language-vue shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","\u003Ctemplate>\n  \u003C!-- 可选：布局容器入口 -->\n  \u003COiyoLayout>\n    \u003C!-- 必须：页面插槽 -->\n    \u003COiyoPage \u002F>\n  \u003C\u002FOiyoLayout>\n\u003C\u002Ftemplate>\n","src\u002FApp.vue","vue","",[304,326,327,343,350,361,367,379,389],{"__ignoreMap":324},[328,329,332,336,340],"span",{"class":330,"line":331},"line",1,[328,333,335],{"class":334},"sDfIl","\u003C",[328,337,339],{"class":338},"sRlkE","template",[328,341,342],{"class":334},">\n",[328,344,346],{"class":330,"line":345},2,[328,347,349],{"class":348},"sWuyu","  \u003C!-- 可选：布局容器入口 -->\n",[328,351,353,356,359],{"class":330,"line":352},3,[328,354,355],{"class":334},"  \u003C",[328,357,358],{"class":338},"OiyoLayout",[328,360,342],{"class":334},[328,362,364],{"class":330,"line":363},4,[328,365,366],{"class":348},"    \u003C!-- 必须：页面插槽 -->\n",[328,368,370,373,376],{"class":330,"line":369},5,[328,371,372],{"class":334},"    \u003C",[328,374,375],{"class":338},"OiyoPage",[328,377,378],{"class":334}," \u002F>\n",[328,380,382,385,387],{"class":330,"line":381},6,[328,383,384],{"class":334},"  \u003C\u002F",[328,386,358],{"class":338},[328,388,342],{"class":334},[328,390,392,395,397],{"class":330,"line":391},7,[328,393,394],{"class":334},"\u003C\u002F",[328,396,339],{"class":338},[328,398,342],{"class":334},[291,400,401],{"id":401},"默认与具名布局",[284,403,404,405,408,409,412],{},"布局文件位于 ",[304,406,407],{},"src\u002Flayouts\u002F","。默认布局通常命名为 ",[304,410,411],{},"default","：当页面没有显式选择布局时，会回退到默认布局。",[284,414,415],{},"“显式选择”的语义通常来自页面元信息（字段以 API 为准），例如表达“该页面使用某个具名布局”：",[318,417,421],{"className":418,"code":419,"language":420,"meta":324,"style":324},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","definePageMeta({ layout: 'auth-login' })\n","ts",[304,422,423],{"__ignoreMap":324},[328,424,425,428,432,435,438,441,444,448,451,454],{"class":330,"line":331},[328,426,231],{"class":427},"s3cPz",[328,429,431],{"class":430},"sZSNi","(",[328,433,434],{"class":334},"{",[328,436,437],{"class":338}," layout",[328,439,440],{"class":334},":",[328,442,443],{"class":334}," '",[328,445,447],{"class":446},"sGFVr","auth-login",[328,449,450],{"class":334},"'",[328,452,453],{"class":334}," }",[328,455,456],{"class":430},")\n",[458,459,461],"callout",{"color":460,"icon":166,"to":129},"neutral",[284,462,463],{},"layouts 目录的职责与命名约定（结构视角）",[291,465,466],{"id":466},"布局名解析规则",[284,468,469,470,473],{},"布局名是“从文件路径推导出来”的，并标准化为小写的 ",[304,471,472],{},"kebab-case","。",[475,476,477,490],"table",{},[478,479,480],"thead",{},[481,482,483,487],"tr",{},[484,485,486],"th",{},"布局文件",[484,488,489],{},"生成的布局名称",[491,492,493,505,516,528],"tbody",{},[481,494,495,501],{},[496,497,498],"td",{},[304,499,500],{},"src\u002Flayouts\u002Fdefault.vue",[496,502,503],{},[304,504,411],{},[481,506,507,512],{},[496,508,509],{},[304,510,511],{},"src\u002Flayouts\u002Fauth\u002Flogin.vue",[496,513,514],{},[304,515,447],{},[481,517,518,523],{},[496,519,520],{},[304,521,522],{},"src\u002Flayouts\u002FAbout\u002Ftabbar.vue",[496,524,525],{},[304,526,527],{},"about-tabbar",[481,529,530,535],{},[496,531,532],{},[304,533,534],{},"src\u002Flayouts\u002Forder-list\u002Fdefault.vue",[496,536,537],{},[304,538,539],{},"order-list-default",[284,541,542],{},"这个规则的目的，是让“布局的选择”可以稳定地引用到一个字符串标识，而不依赖大小写或目录层级的写法差异。",[291,544,545],{"id":545},"禁用布局的语义",[284,547,548],{},"当某些页面不希望被布局包裹时（例如登录页、全屏落地页），布局选择可以表达为“禁用”。禁用的含义是：该页面内容直接渲染到页面插槽，而不经过布局骨架。",[284,550,551],{},"同样，这通常通过页面元信息来表达（字段以 API 为准）：",[318,553,555],{"className":418,"code":554,"language":420,"meta":324,"style":324},"definePageMeta({ layout: false })\n",[304,556,557],{"__ignoreMap":324},[328,558,559,561,563,565,567,569,573,575],{"class":330,"line":331},[328,560,231],{"class":427},[328,562,431],{"class":430},[328,564,434],{"class":334},[328,566,437],{"class":338},[328,568,440],{"class":334},[328,570,572],{"class":571},"sbKd-"," false",[328,574,453],{"class":334},[328,576,456],{"class":430},[284,578,579,580,582,583,586],{},"从渲染链路角度理解，它等价于“跳过布局包裹层”，页面内容直接落在 ",[304,581,143],{}," 的 ",[304,584,585],{},"\u003COiyoPage \u002F>"," 插槽位置。",[291,588,589],{"id":589},"约束与常见误解",[298,591,592,595],{},[301,593,594],{},"布局是显式能力：只有存在布局容器入口时，布局才会参与渲染链路。",[301,596,597,598,600],{},"布局不是必须：如果项目只有一个很简单的公共壳层，直接写在 ",[304,599,143],{}," 也完全可行。",[291,602,603],{"id":603},"延伸阅读",[458,605,606],{"color":460,"icon":29,"to":96},[284,607,608],{},"学习如何为多个页面套用相同的公共布局骨架",[458,610,611],{"color":460,"icon":29,"to":86},[284,612,613],{},"了解如何在 App.vue 中设置全局壳层和跨页面的状态",[615,616,617],"style",{},"html pre.shiki code .sDfIl, html code.shiki .sDfIl{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}html pre.shiki code .sRlkE, html code.shiki .sRlkE{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}html pre.shiki code .sWuyu, html code.shiki .sWuyu{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#90A4AE;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .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 .s3cPz, html code.shiki .s3cPz{--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF}html pre.shiki code .sZSNi, html code.shiki .sZSNi{--shiki-light:#90A4AE;--shiki-default:#90A4AE;--shiki-dark:#BABED8}html pre.shiki code .sGFVr, html code.shiki .sGFVr{--shiki-light:#91B859;--shiki-default:#91B859;--shiki-dark:#C3E88D}html pre.shiki code .sbKd-, html code.shiki .sbKd-{--shiki-light:#FF5370;--shiki-default:#FF5370;--shiki-dark:#FF9CAC}",{"title":324,"searchDepth":345,"depth":345,"links":619},[620,621,622,623,624,625],{"id":293,"depth":345,"text":293},{"id":401,"depth":345,"text":401},{"id":466,"depth":345,"text":466},{"id":545,"depth":345,"text":545},{"id":589,"depth":345,"text":589},{"id":603,"depth":345,"text":603},"使用布局统一页面骨架","md",{},{"icon":98},{"title":95,"description":626},"mMmZy8u-A8nfN9fY5hg-66G046T0WPwuiaOLGqtxxIA",[633,635],{"title":179,"path":180,"stem":181,"description":634,"icon":59,"children":-1},"基于文件系统的页面注册",{"title":186,"path":187,"stem":188,"description":636,"icon":43,"children":-1},"自动收集并注入组件、API 及全局类型声明",1780823240899]