pages.config.ts
全局 pages.json 配置入口
src/pages.config.ts 用来描述全局页面配置,它的结构对应 uni-app 的 pages.json(全局部分)。
职责
pages.config.ts 用于表达“全局层面的 pages.json 配置差异”,比如 globalStyle、tabBar 等。
通常它会与页面扫描结果合并,最终生成 pages.json。
约定
- 推荐使用
definePagesConfig()导出配置,以获得类型提示与更稳定的结构约束 - 页面级差异(标题、导航栏样式、布局等)推荐写在页面内的
definePageMeta()
结构示意(表达形状,不展开流程):
src/pages.config.ts
import { definePagesConfig } from '@skiyee/oiyo/config'
export default definePagesConfig({
globalStyle: {
// ...
},
})
页面的差异化配置(比如某个页面的标题/样式/布局)推荐写在页面内的 definePageMeta()。
TabBar 属于全局配置,具体任务流程与注意点见使用指南。
边界
不要在 pages.config.ts 里维护“页面列表本身”(pages / subPackages)。这些内容会由 Oiyo 的扫描结果生成/覆盖。
export default definePagesConfig({
// 反例:这些字段如果你手写,后续很可能会被 Oiyo 的扫描结果覆盖
pages: [],
subPackages: [],
})
更稳的做法是:
- 全局差异写在
src/pages.config.ts(globalStyle/tabBar) - 页面差异写在页面内的
definePageMeta()
该
pages.config.ts 与 pages.json 形成映射的关系,pages.json 是由 Oiyo 生成/维护的产物文件,不要手动更改 pages.json,直接更改 pages.config.ts 就行。