[{"data":1,"prerenderedAt":1351},["ShallowReactive",2],{"$fen922M9aBBBGS7gEr37q12a4sAhxXmwCENBD1e0zskM":3,"\u002Fdocs\u002Fapi\u002Fconfig\u002Fdefine-oiyo-config":278,"\u002Fdocs\u002Fapi\u002Fconfig\u002Fdefine-oiyo-config-surround":1346},[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":203,"body":280,"description":1341,"extension":1342,"meta":1343,"navigation":42,"path":204,"seo":1344,"stem":205,"titleTemplate":6,"__hash__":1345},"docs\u002Fdocs\u002F5.api\u002F01.config\u002F01.define-oiyo-config.md",{"type":281,"value":282,"toc":1329},"minimark",[283,291,295,314,396,406,409,421,424,427,432,596,599,698,701,764,768,773,792,910,916,929,932,937,950,1057,1060,1114,1120,1123,1292,1295,1315,1320,1325],[284,285,286,290],"p",{},[287,288,289],"code",{},"defineOiyoConfig()"," 用于声明 Oiyo 的工程级约定，常见场景包括配置“主包\u002F分包”的页面目录，以及调整自动扫描的来源范围。",[292,293,294],"h2",{"id":294},"使用位置",[296,297,298,305,311],"ul",{},[299,300,301,302],"li",{},"文件名：",[287,303,304],{},"oiyo.config.{ts,js,mjs}",[299,306,307,308,310],{},"目录：项目根目录（与 ",[287,309,157],{}," 同级）",[299,312,313],{},"导出：默认导出",[315,316,321],"pre",{"className":317,"code":318,"filename":153,"language":319,"meta":320,"style":320},"language-ts shiki shiki-themes material-theme-lighter material-theme-lighter material-theme-palenight","import { defineOiyoConfig } from '@skiyee\u002Foiyo\u002Fconfig'\n\nexport default defineOiyoConfig({\n  \u002F\u002F ...\n})\n","ts","",[287,322,323,356,362,380,387],{"__ignoreMap":320},[324,325,328,332,336,340,343,346,349,353],"span",{"class":326,"line":327},"line",1,[324,329,331],{"class":330},"s8R28","import",[324,333,335],{"class":334},"sDfIl"," {",[324,337,339],{"class":338},"sZSNi"," defineOiyoConfig",[324,341,342],{"class":334}," }",[324,344,345],{"class":330}," from",[324,347,348],{"class":334}," '",[324,350,352],{"class":351},"sGFVr","@skiyee\u002Foiyo\u002Fconfig",[324,354,355],{"class":334},"'\n",[324,357,359],{"class":326,"line":358},2,[324,360,361],{"emptyLinePlaceholder":42},"\n",[324,363,365,368,371,374,377],{"class":326,"line":364},3,[324,366,367],{"class":330},"export",[324,369,370],{"class":330}," default",[324,372,339],{"class":373},"s3cPz",[324,375,376],{"class":338},"(",[324,378,379],{"class":334},"{\n",[324,381,383],{"class":326,"line":382},4,[324,384,386],{"class":385},"sWuyu","  \u002F\u002F ...\n",[324,388,390,393],{"class":326,"line":389},5,[324,391,392],{"class":334},"}",[324,394,395],{"class":338},")\n",[397,398,400],"callout",{"color":399,"icon":166,"to":154},"neutral",[284,401,402,403,405],{},"看项目结构里的 ",[287,404,153],{}," 说明",[292,407,408],{"id":408},"签名",[315,410,412],{"className":317,"code":411,"language":319,"meta":320,"style":320},"defineOiyoConfig(config: OiyoConfig): OiyoConfig\n",[287,413,414],{"__ignoreMap":320},[324,415,416,418],{"class":326,"line":327},[324,417,203],{"class":373},[324,419,420],{"class":338},"(config: OiyoConfig): OiyoConfig\n",[284,422,423],{},"该函数的主要作用是提供稳定的配置结构与类型提示。",[292,425,426],{"id":426},"字段",[428,429,431],"h3",{"id":430},"oiyoconfig","OiyoConfig",[433,434,435,454],"table",{},[436,437,438],"thead",{},[439,440,441,445,448,451],"tr",{},[442,443,444],"th",{},"属性",[442,446,447],{},"类型",[442,449,450],{},"默认值",[442,452,453],{},"说明",[455,456,457,478,500,525,549,572],"tbody",{},[439,458,459,465,470,475],{},[460,461,462],"td",{},[287,463,464],{},"rootDir",[460,466,467],{},[287,468,469],{},"string",[460,471,472],{},[287,473,474],{},"process.cwd()",[460,476,477],{},"项目根目录，通常不需要手写。",[439,479,480,485,489,494],{},[460,481,482],{},[287,483,484],{},"srcDir",[460,486,487],{},[287,488,469],{},[460,490,491],{},[287,492,493],{},"'src'",[460,495,496,497,499],{},"源码目录（相对 ",[287,498,464],{},"）。",[439,501,502,507,516,522],{},[460,503,504],{},[287,505,506],{},"dir",[460,508,509],{},[510,511,513],"a",{"href":512},"#oiyoconfigdir",[287,514,515],{},"OiyoConfigDir",[460,517,518],{},[510,519,520],{"href":512},[287,521,515],{},[460,523,524],{},"目录约定配置（主包 pages、subPackages、layouts、中间件目录等）。",[439,526,527,532,540,546],{},[460,528,529],{},[287,530,531],{},"scan",[460,533,534],{},[510,535,537],{"href":536},"#oiyoconfigscan",[287,538,539],{},"OiyoConfigScan",[460,541,542],{},[510,543,544],{"href":536},[287,545,539],{},[460,547,548],{},"自动扫描来源配置，用于约定组件与 API 的扫描范围。",[439,550,551,556,561,566],{},[460,552,553],{},[287,554,555],{},"exclude",[460,557,558],{},[287,559,560],{},"string[]",[460,562,563],{},[287,564,565],{},"['**\u002Fcomponents\u002F**', '**\u002Fcomposables\u002F**', '**\u002Futils\u002F**']",[460,567,568,569,571],{},"扫描页面\u002F布局时的排除规则（glob），会与内置默认值合并。（相对 ",[287,570,484],{},"）",[439,573,574,579,587,593],{},[460,575,576],{},[287,577,578],{},"ide",[460,580,581],{},[510,582,584],{"href":583},"#oiyoconfigide",[287,585,586],{},"OiyoConfigIde",[460,588,589],{},[510,590,591],{"href":583},[287,592,586],{},[460,594,595],{},"不同平台 IDE 的功能配置",[428,597,515],{"id":598},"oiyoconfigdir",[433,600,601,613],{},[436,602,603],{},[439,604,605,607,609,611],{},[442,606,444],{},[442,608,447],{},[442,610,450],{},[442,612,453],{},[455,614,615,636,657,677],{},[439,616,617,622,626,631],{},[460,618,619],{},[287,620,621],{},"mainPackage",[460,623,624],{},[287,625,469],{},[460,627,628],{},[287,629,630],{},"'pages'",[460,632,633,634,499],{},"主包页面根目录（相对 ",[287,635,484],{},[439,637,638,643,647,652],{},[460,639,640],{},[287,641,642],{},"subPackages",[460,644,645],{},[287,646,560],{},[460,648,649],{},[287,650,651],{},"[]",[460,653,654,655,499],{},"分包页面根目录列表（相对 ",[287,656,484],{},[439,658,659,663,667,672],{},[460,660,661],{},[287,662,128],{},[460,664,665],{},[287,666,469],{},[460,668,669],{},[287,670,671],{},"'layouts'",[460,673,674,675,499],{},"布局目录（相对 ",[287,676,484],{},[439,678,679,684,688,693],{},[460,680,681],{},[287,682,683],{},"middleware",[460,685,686],{},[287,687,469],{},[460,689,690],{},[287,691,692],{},"'middlewares'",[460,694,695,696,499],{},"中间件目录约定（相对 ",[287,697,484],{},[428,699,539],{"id":700},"oiyoconfigscan",[433,702,703,715],{},[436,704,705],{},[439,706,707,709,711,713],{},[442,708,444],{},[442,710,447],{},[442,712,450],{},[442,714,453],{},[455,716,717,741],{},[439,718,719,724,732,738],{},[460,720,721],{},[287,722,723],{},"apis",[460,725,726],{},[510,727,729],{"href":728},"#apiscanner",[287,730,731],{},"ApiScanner",[460,733,734],{},[510,735,736],{"href":728},[287,737,731],{},[460,739,740],{},"自动扫描可直接使用的 API 来源。",[439,742,743,747,755,761],{},[460,744,745],{},[287,746,118],{},[460,748,749],{},[510,750,752],{"href":751},"#componentscanner",[287,753,754],{},"ComponentScanner",[460,756,757],{},[510,758,759],{"href":751},[287,760,754],{},[460,762,763],{},"自动扫描可直接使用的组件来源。",[765,766,731],"h4",{"id":767},"apiscanner",[284,769,770,772],{},[287,771,731],{}," 支持两种写法：",[296,774,775,786],{},[299,776,777,779,780,782,783],{},[287,778,469],{},"：直接声明扫描来源，例如 ",[287,781,123],{},"、",[287,784,785],{},"@scope\u002Fpkg",[299,787,788,791],{},[287,789,790],{},"object","：按需细化扫描范围、过滤条件和暴露名称",[433,793,794,806],{},[436,795,796],{},[439,797,798,800,802,804],{},[442,799,444],{},[442,801,447],{},[442,803,450],{},[442,805,453],{},[455,807,808,825,845,862,878,895],{},[439,809,810,815,819,822],{},[460,811,812],{},[287,813,814],{},"from",[460,816,817],{},[287,818,469],{},[460,820,821],{},"-",[460,823,824],{},"扫描来源。可用于目录、文件、包名或包子路径。",[439,826,827,832,837,842],{},[460,828,829],{},[287,830,831],{},"types",[460,833,834],{},[287,835,836],{},"boolean",[460,838,839],{},[287,840,841],{},"false",[460,843,844],{},"是否同时处理类型导出。",[439,846,847,852,857,859],{},[460,848,849],{},[287,850,851],{},"pattern",[460,853,854],{},[287,855,856],{},"string | string[]",[460,858,821],{},[460,860,861],{},"只匹配这些文件。适合进一步收窄扫描范围。",[439,863,864,869,873,875],{},[460,865,866],{},[287,867,868],{},"ignore",[460,870,871],{},[287,872,856],{},[460,874,821],{},[460,876,877],{},"忽略这些文件。适合排除测试文件或临时目录。",[439,879,880,885,890,892],{},[460,881,882],{},[287,883,884],{},"only",[460,886,887],{},[287,888,889],{},"ScanName[]",[460,891,821],{},[460,893,894],{},"只保留这些导出，并可按需重命名。",[439,896,897,901,905,907],{},[460,898,899],{},[287,900,555],{},[460,902,903],{},[287,904,560],{},[460,906,821],{},[460,908,909],{},"排除这些最终暴露名。",[284,911,912,915],{},[287,913,914],{},"ScanName"," 支持：",[296,917,918,923],{},[299,919,920,922],{},[287,921,469],{},"：直接使用原始导出名",[299,924,925,928],{},[287,926,927],{},"{ name, as?, isType? }","：声明来源名、重命名和是否按类型处理",[765,930,754],{"id":931},"componentscanner",[284,933,934,936],{},[287,935,754],{}," 同样支持两种写法：",[296,938,939,945],{},[299,940,941,779,943],{},[287,942,469],{},[287,944,118],{},[299,946,947,949],{},[287,948,790],{},"：按需细化扫描规则、命名规则和暴露范围",[433,951,952,964],{},[436,953,954],{},[439,955,956,958,960,962],{},[442,957,444],{},[442,959,447],{},[442,961,450],{},[442,963,453],{},[455,965,966,980,995,1010,1025,1041],{},[439,967,968,972,976,978],{},[460,969,970],{},[287,971,814],{},[460,973,974],{},[287,975,469],{},[460,977,821],{},[460,979,824],{},[439,981,982,986,990,992],{},[460,983,984],{},[287,985,851],{},[460,987,988],{},[287,989,856],{},[460,991,821],{},[460,993,994],{},"只匹配这些文件。",[439,996,997,1001,1005,1007],{},[460,998,999],{},[287,1000,868],{},[460,1002,1003],{},[287,1004,856],{},[460,1006,821],{},[460,1008,1009],{},"忽略这些文件。",[439,1011,1012,1016,1020,1022],{},[460,1013,1014],{},[287,1015,884],{},[460,1017,1018],{},[287,1019,889],{},[460,1021,821],{},[460,1023,1024],{},"只保留这些组件导出，并可按需重命名。",[439,1026,1027,1032,1036,1038],{},[460,1028,1029],{},[287,1030,1031],{},"prefix",[460,1033,1034],{},[287,1035,469],{},[460,1037,821],{},[460,1039,1040],{},"为最终组件名添加统一前缀。",[439,1042,1043,1048,1052,1054],{},[460,1044,1045],{},[287,1046,1047],{},"chain",[460,1049,1050],{},[287,1051,836],{},[460,1053,821],{},[460,1055,1056],{},"是否让目录链参与组件命名。",[428,1058,586],{"id":1059},"oiyoconfigide",[433,1061,1062,1074],{},[436,1063,1064],{},[439,1065,1066,1068,1070,1072],{},[442,1067,444],{},[442,1069,447],{},[442,1071,450],{},[442,1073,453],{},[455,1075,1076,1094],{},[439,1077,1078,1083,1087,1091],{},[460,1079,1080],{},[287,1081,1082],{},"ide.open",[460,1084,1085],{},[287,1086,836],{},[460,1088,1089],{},[287,1090,841],{},[460,1092,1093],{},"构建小程序平台时自动打开对应 IDE。",[439,1095,1096,1101,1106,1111],{},[460,1097,1098],{},[287,1099,1100],{},"ide.path",[460,1102,1103],{},[287,1104,1105],{},"Partial\u003CRecord\u003Cstring, string>>",[460,1107,1108],{},[287,1109,1110],{},"{}",[460,1112,1113],{},"不同平台 IDE 的可执行路径映射。",[1115,1116,1117],"warning",{},[284,1118,1119],{},"属于实验性功能，如若有问题可直接反馈。",[292,1121,1122],{"id":1122},"基础示例",[315,1124,1126],{"className":317,"code":1125,"filename":153,"language":319,"meta":320,"style":320},"import { defineOiyoConfig } from '@skiyee\u002Foiyo\u002Fconfig'\n\nexport default defineOiyoConfig({\n  dir: {\n    mainPackage: 'pages',\n    subPackages: ['sub-direct', 'sub-nested\u002Forder'],\n  },\n  scan: {\n    apis: ['composables'],\n    components: ['components'],\n  },\n})\n",[287,1127,1128,1146,1150,1162,1174,1191,1224,1230,1240,1260,1280,1285],{"__ignoreMap":320},[324,1129,1130,1132,1134,1136,1138,1140,1142,1144],{"class":326,"line":327},[324,1131,331],{"class":330},[324,1133,335],{"class":334},[324,1135,339],{"class":338},[324,1137,342],{"class":334},[324,1139,345],{"class":330},[324,1141,348],{"class":334},[324,1143,352],{"class":351},[324,1145,355],{"class":334},[324,1147,1148],{"class":326,"line":358},[324,1149,361],{"emptyLinePlaceholder":42},[324,1151,1152,1154,1156,1158,1160],{"class":326,"line":364},[324,1153,367],{"class":330},[324,1155,370],{"class":330},[324,1157,339],{"class":373},[324,1159,376],{"class":338},[324,1161,379],{"class":334},[324,1163,1164,1168,1171],{"class":326,"line":382},[324,1165,1167],{"class":1166},"sRlkE","  dir",[324,1169,1170],{"class":334},":",[324,1172,1173],{"class":334}," {\n",[324,1175,1176,1179,1181,1183,1185,1188],{"class":326,"line":389},[324,1177,1178],{"class":1166},"    mainPackage",[324,1180,1170],{"class":334},[324,1182,348],{"class":334},[324,1184,138],{"class":351},[324,1186,1187],{"class":334},"'",[324,1189,1190],{"class":334},",\n",[324,1192,1194,1197,1199,1202,1204,1207,1209,1212,1214,1217,1219,1222],{"class":326,"line":1193},6,[324,1195,1196],{"class":1166},"    subPackages",[324,1198,1170],{"class":334},[324,1200,1201],{"class":338}," [",[324,1203,1187],{"class":334},[324,1205,1206],{"class":351},"sub-direct",[324,1208,1187],{"class":334},[324,1210,1211],{"class":334},",",[324,1213,348],{"class":334},[324,1215,1216],{"class":351},"sub-nested\u002Forder",[324,1218,1187],{"class":334},[324,1220,1221],{"class":338},"]",[324,1223,1190],{"class":334},[324,1225,1227],{"class":326,"line":1226},7,[324,1228,1229],{"class":334},"  },\n",[324,1231,1233,1236,1238],{"class":326,"line":1232},8,[324,1234,1235],{"class":1166},"  scan",[324,1237,1170],{"class":334},[324,1239,1173],{"class":334},[324,1241,1243,1246,1248,1250,1252,1254,1256,1258],{"class":326,"line":1242},9,[324,1244,1245],{"class":1166},"    apis",[324,1247,1170],{"class":334},[324,1249,1201],{"class":338},[324,1251,1187],{"class":334},[324,1253,123],{"class":351},[324,1255,1187],{"class":334},[324,1257,1221],{"class":338},[324,1259,1190],{"class":334},[324,1261,1263,1266,1268,1270,1272,1274,1276,1278],{"class":326,"line":1262},10,[324,1264,1265],{"class":1166},"    components",[324,1267,1170],{"class":334},[324,1269,1201],{"class":338},[324,1271,1187],{"class":334},[324,1273,118],{"class":351},[324,1275,1187],{"class":334},[324,1277,1221],{"class":338},[324,1279,1190],{"class":334},[324,1281,1283],{"class":326,"line":1282},11,[324,1284,1229],{"class":334},[324,1286,1288,1290],{"class":326,"line":1287},12,[324,1289,392],{"class":334},[324,1291,395],{"class":338},[292,1293,1294],{"id":1294},"约束",[296,1296,1297,1303,1310],{},[299,1298,1299,1302],{},[287,1300,1301],{},"dir.subPackages"," 声明的是“会参与分包页面扫描\u002F注册”的目录，不是随意的文件夹清单",[299,1304,1305,1306,1309],{},"路径建议使用 ",[287,1307,1308],{},"\u002F"," 作为分隔符，以保证跨平台一致性",[299,1311,1312,1314],{},[287,1313,531],{}," 适合用来收敛团队约定，文档中只建议声明业务侧需要感知的扫描来源",[397,1316,1317],{"color":399,"icon":59,"to":180},[284,1318,1319],{},"自动路由：扫描与生成机制",[397,1321,1322],{"color":399,"icon":29,"to":37},[284,1323,1324],{},"学习如何通过目录约定将页面拆分到分包中",[1326,1327,1328],"style",{},"html pre.shiki code .s8R28, html code.shiki .s8R28{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#39ADB5;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sDfIl, html code.shiki .sDfIl{--shiki-light:#39ADB5;--shiki-default:#39ADB5;--shiki-dark:#89DDFF}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 .s3cPz, html code.shiki .s3cPz{--shiki-light:#6182B8;--shiki-default:#6182B8;--shiki-dark:#82AAFF}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 .sRlkE, html code.shiki .sRlkE{--shiki-light:#E53935;--shiki-default:#E53935;--shiki-dark:#F07178}",{"title":320,"searchDepth":358,"depth":358,"links":1330},[1331,1332,1333,1339,1340],{"id":294,"depth":358,"text":294},{"id":408,"depth":358,"text":408},{"id":426,"depth":358,"text":426,"children":1334},[1335,1336,1337,1338],{"id":430,"depth":364,"text":431},{"id":598,"depth":364,"text":515},{"id":700,"depth":364,"text":539},{"id":1059,"depth":364,"text":586},{"id":1122,"depth":358,"text":1122},{"id":1294,"depth":358,"text":1294},"声明 Oiyo 工程级约定与扫描目录","md",{},{"title":203,"description":1341},"pbOCsHvbyLrdNtcJ1JSYT3t0uKSqn-zcqqVwm3zrtrI",[1347,1349],{"title":195,"path":191,"stem":192,"description":1348,"children":-1},"Oiyo 配置、运行时、宏、组件与 CLI 的权威参考",{"title":207,"path":208,"stem":209,"description":1350,"children":-1},"声明全局 pages.json 配置（globalStyle\u002FtabBar 等）",1780823237710]