dg-publish: “true” tags:

  • 文件-文档-txt文件-笔记 电脑-PC-桌面端-计算机 部署-配置-安装-调好-设置-初始化 导入的同义词

梗概

pages.json 是 Uni App 的核心配置文件,控制应用的整体结构、页面路由、窗口样式和跨平台适配。主要包含页面路径配置、全局样式设置、Tab栏配置和分包优化等功能。

核心配置项概览

配置项功能必需
pages页面路径及样式配置
globalStyle全局窗口样式-
tabBar底部Tab栏配置-
condition启动模式配置-
subPackages分包配置-
preloadRule分包预加载规则-

详细配置说明

pages - 页面配置

定义所有页面路径及单页样式

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "首页",
        "navigationBarBackgroundColor": "#ffffff",
        "navigationBarTextStyle": "black",
        "backgroundColor": "#f8f8f8",
        "enablePullDownRefresh": true,
        "onReachBottomDistance": 50
      }
    },
    {
      "path": "pages/list/list",
      "style": {
        "navigationBarTitleText": "列表页",
        "navigationStyle": "custom"
      }
    }
  ]
}

pages.style 常用属性

  • navigationBarTitleText: 导航栏标题
  • navigationBarBackgroundColor: 导航栏背景色
  • navigationBarTextStyle: 导航栏文字颜色(black/white)
  • navigationStyle: 导航栏样式(default/custom)
  • backgroundColor: 页面背景色
  • enablePullDownRefresh: 是否开启下拉刷新
  • onReachBottomDistance: 页面上拉触底事件触发时距页面底部距离

globalStyle - 全局样式

设置所有页面的默认窗口样式

{
  "globalStyle": {
    "navigationBarTextStyle": "black",
    "navigationBarTitleText": "uni-app",
    "navigationBarBackgroundColor": "#F8F8F8",
    "backgroundColor": "#F8F8F8",
    "enablePullDownRefresh": false,
    "maxWidth": 375,
    "rpxCalcMaxDeviceWidth": 960,
    "backgroundTextStyle": "dark"
  }
}

全局样式特点

  • 可被单个页面的style覆盖
  • 适用于设置应用的默认外观
  • 支持响应式适配配置

tabBar - Tab栏配置

配置底部或顶部Tab栏

{
  "tabBar": {
    "color": "#7A7E83",
    "selectedColor": "#3cc51f",
    "borderStyle": "black",
    "backgroundColor": "#ffffff",
    "position": "bottom",
    "list": [
      {
        "pagePath": "pages/home/home",
        "iconPath": "static/home.png",
        "selectedIconPath": "static/home-active.png",
        "text": "首页"
      },
      {
        "pagePath": "pages/profile/profile",
        "iconPath": "static/profile.png",
        "selectedIconPath": "static/profile-active.png",
        "text": "我的"
      }
    ]
  }
}

tabBar 配置说明

  • position: Tab位置(bottom/top)
  • list: Tab项列表(2-5个)
  • 每个Tab项需配置pagePathiconPathselectedIconPathtext
  • Tab页面只能通过uni.switchTab()或uni.reLaunch()跳转

condition - 启动模式

配置开发调试时的启动页面

{
  "condition": {
    "current": 0,
    "list": [
      {
        "name": "详情页",
        "path": "pages/detail/detail",
        "query": "id=123&name=test"
      }
    ]
  }
}
  • 仅在开发环境生效
  • 方便调试特定页面和参数

subPackages - 分包配置

配置分包加载优化大型项目启动速度

{
  "subPackages": [
    {
      "root": "packageA",
      "name": "pack1",
      "pages": [
        {
          "path": "pages/cat/cat",
          "style": {
            "navigationBarTitleText": "分包页面"
          }
        }
      ]
    }
  ]
}

分包优势

  • 减少主包大小,提升启动速度
  • 按需加载,优化用户体验
  • 单个分包不能超过2M,总包不能超过20M

preloadRule - 分包预加载

设置分包预加载规则

{
  "preloadRule": {
    "pages/index/index": {
      "network": "all",
      "packages": ["packageA"]
    }
  }
}
  • 在特定页面加载时提前加载指定分包
  • network: 预加载网络条件(all/wifi)

配置导航栏与页面内容的适配方式

{
  "globalStyle": {
    "navigationBarFit": "float"
  }
}
  • float: 浮动模式,支持沉浸式导航
  • squeezed: 挤压模式,传统适配方式

平台特有配置

H5平台配置

{
  "h5": {
    "router": {
      "mode": "hash",
      "base": "/my-app/"
    },
    "optimization": {
      "treeShaking": {
        "enable": true
      }
    }
  }
}

小程序平台配置

{
  "mp-weixin": {
    "appid": "wx1234567890",
    "setting": {
      "urlCheck": false
    }
  }
}

配置文件示例

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "首页"
      }
    }
  ],
  "globalStyle": {
    "navigationBarTextStyle": "black",
    "navigationBarTitleText": "uni-app",
    "navigationBarBackgroundColor": "#F8F8F8",
    "backgroundColor": "#F8F8F8"
  },
  "tabBar": {
    "color": "#7A7E83",
    "selectedColor": "#3cc51f",
    "backgroundColor": "#ffffff",
    "list": [
      {
        "pagePath": "pages/home/home",
        "iconPath": "static/home.png",
        "selectedIconPath": "static/home-active.png",
        "text": "首页"
      }
    ]
  }
}

注意事项

  • 与页面内部CSS样式分工不同,主要控制窗口框架
  • 配置修改后需要重新编译才能生效
  • 不同平台可能有特定的配置限制
  • 路径配置不需要.vue后缀