全局页面配置
用 definePagesConfig 维护 pages.json 全局性的页面默认配置
全局页面配置用于声明所有页面共享的默认配置。Oiyo 使用 definePagesConfig() 维护这部分内容,并同步生成到 pages.json。
它解决的问题是:避免把应用级默认配置分散到每个页面。
definePagesConfig
基本用法:
src/pages.config.ts
import { definePagesConfig } from '@skiyee/oiyo/config'
export default definePagesConfig({
globalStyle: {
// 配置页面默认样式
},
tabBar: {
// 配置 TabBar 样式
},
// 其他配置选项
})
适用范围
适合放置 globalStyle、tabBar 等应用级配置:
- 默认页面背景色。
- 默认导航栏标题、背景色、文字颜色等。
- 页面通用样式配置。
- TabBar 默认文字颜色、选中文字颜色等。
- TabBar 全局样式配置。
不适合放:
- 单个页面标题。
- 单个页面布局。
- 页面类型。
- 页面私有配置。
- 单个 TabBar 项的
text、index、图标路径。
这些应该写到页面的 definePageMeta() 中。
与页面元信息的分工
definePagesConfig() 负责全局默认值,definePageMeta() 负责单个页面。
使用原则
使用 definePagesConfig() 时遵循这些原则:
- 应用级默认配置写在
pages.config.ts。 - 页面级配置写在页面自己的
definePageMeta()。 - TabBar 全局样式写在
pages.config.ts的tabBar。 - TabBar 单项配置写在页面自己的
definePageMeta({ tab })。 - 不要把
pages.json当主要维护入口,它应作为 Oiyo 的生成结果来检查。
验证可用
修改 src/pages.config.ts 后,检查:
src/pages.json中globalStyle、tabBar或其他配置是否同步更新。- 页面中
definePageMeta配置是否在src/pages.json中仍保留。 - 全局配置和页面级配置是否职责清晰。