page.json和manifest.json
/
前端
UniApp pages.json
pages.json
是 UniApp 项目中用于全局配置的重要文件,它定义了页面路由、窗口样式、导航栏、底部的原生 tabbar 等。
1. globalStyle
- 用途:设置应用默认的窗口表现。
- 注意点:
- 设置的属性会被所有页面继承,但可以在单个页面的
style
中覆盖。 - 不同平台可能有不同的默认值或支持情况,请参考相应平台文档。
- 设置的属性会被所有页面继承,但可以在单个页面的
1 | "globalStyle": { |
2. topWindow / leftWindow / rightWindow
- 用途:宽屏适配,允许在主窗口的顶部、左侧或右侧追加新的页面显示窗体。
- 注意点:
- 需要根据实际需求调整宽度和高度。
- 可以使用
matchMedia
来控制在不同屏幕尺寸下是否显示这些窗口。
1 | "topWindow": { |
3. pages
- 用途:定义应用中的所有页面及其样式。
- 注意点:
- 第一个页面作为首页。
- 文件名不需要写后缀
.vue
,框架会自动寻找路径下的页面资源。
1 | "pages": [ |
4. style (页面级别)
- 用途:覆盖
globalStyle
的设置,针对单个页面进行更详细的样式配置。 - 注意点:
- 页面级别的
style
优先级高于globalStyle
。 - 对于复杂的页面,建议单独定义
style
。
- 页面级别的
1 | "style": { |
5. 自定义导航栏使用注意
- 要点:
- 使用
navigationStyle: custom
取消默认的原生导航栏时,需自行实现导航栏的功能。 - 注意不同平台的兼容性问题,如微信小程序需要版本 7.0+ 支持。
- 使用
1 | "style": { |
6. app-plus
- 用途:配置编译到 App 平台的特定样式。
- 注意点:
- 特定于 App 平台的配置项较多,如启动图片、状态栏样式等。
- 需要考虑不同设备分辨率和系统版本的支持情况。
1 | "app-plus": { |
7. tabBar
- 用途:配置底部 tab 栏的表现。
- 注意点:
list
中的每个对象代表一个 tab 项,必须包含pagePath
和text
属性。- 图标路径应为相对路径或绝对路径,确保正确引用。
1 | "tabBar": { |
8. easycom
- 用途:简化组件引入,自动注册符合规则的组件。
- 注意点:
- 自动扫描组件可以极大简化开发流程,但需注意命名规则的一致性。
- 定义清晰的自定义扫描规则,避免冲突。
1 | "easycom": { |
9. condition & subPackages & preloadRule
用途:
condition
: 启动模式配置(仅开发期间生效)。subPackages
: 分包加载配置。preloadRule
: 分包预下载规则。
注意点:
- 分包策略有助于优化小程序的加载速度,特别是对于大型应用。
- 预下载规则可以帮助用户快速访问常用页面。
1 | "condition": { "current": 0, "list": [{ "name": "test", "path": "pages/component/view/index" }] }, |
注意事项总结
- 跨平台差异:不同的小程序平台对某些配置的支持程度不同,请务必查阅相应平台的文档。
- 样式覆盖:页面级别的
style
优先级高于globalStyle
,合理利用可以减少重复代码。 - 图标路径:确保图标的路径正确,特别是在使用相对路径时要注意目录结构。
- 性能优化:通过分包加载和预下载规则来提升应用的加载速度,尤其是在网络条件不佳的情况下尤为重要。
- 测试与调试:由于不同平台可能存在差异,建议在多个平台上进行全面测试,包括真机测试。
manifest.json
manifest.json
文件在 UniApp 项目中用于配置应用的基本信息和运行时权限等。它类似于传统 Web 应用中的 package.json
或者原生移动应用的 AndroidManifest.xml
和 Info.plist
,但专门针对跨平台开发进行了优化。以下是关于 manifest.json
的详细说明,包括其结构、重要配置项及其注意事项。
manifest.json 基本结构
1 | { |
重要配置项及说明
1. 基础信息配置
- appid: 应用的唯一标识符,通常由平台分配。
- name: 应用名称,显示在设备的应用列表中。
- versionName: 版本名称,用户可见的版本号。
- versionCode: 版本代码,用于内部版本控制,数字越大代表版本越新。
1 | { |
2. uniStatistics(统计)
- enable: 是否启用 DCloud 提供的统计服务,默认为
false
。
1 | "uniStatistics": { |
3. app-plus (App端特有配置)
- 包含了 Android 和 iOS 平台的相关配置。
- 可以设置启动图、状态栏样式、权限声明等。
1 | "app-plus": { |
4. mp-weixin (微信小程序特有配置)
- 配置微信小程序特有的参数,如 appId、网络超时时间等。
1 | "mp-weixin": { |
5. mp-alipay (支付宝小程序特有配置)
- 类似于微信小程序的配置,但针对支付宝小程序的特点进行调整。
1 | "mp-alipay": { |
注意事项
- 权限声明:确保根据应用的需求正确声明所需的权限,避免因缺少权限导致的功能异常。
- 启动图和状态栏样式:合理配置启动图和状态栏样式可以提升用户体验。
- 不同平台的差异性:由于各平台有不同的规范和限制,需特别注意特定平台的配置项,以保证应用在各平台上都能正常运行。
- 版本管理:定期更新
versionName
和versionCode
,以便跟踪应用的发布历史。 - 真机测试:在完成配置后,务必在真实设备上进行全面测试,确保所有功能按预期工作。