uni-app的pages.json配置文件
<p><span style="color: rgba(0, 0, 255, 1)"> pages.json</span>文件是uni-app 中页面管理、窗口样式、原生的导航栏、底部的原生tabbar 等的配置文件,包含如下节点</p><p>1.pages : 设置页面路径及窗口表现</p>
<p>一个pages接收一个数组,数组中由多个page组成,每个page有一个path和一个style组成,如:</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">{
</span><span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">pages": [</span>
<span style="color: rgba(0, 0, 0, 1)"> {
</span><span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">path": "pages/index/index", </span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">style": { ... }</span>
<span style="color: rgba(0, 0, 0, 1)"> }, {
</span><span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">path": "pages/login/login", </span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">style": { ... }</span>
<span style="color: rgba(0, 0, 0, 1)"> }
]
}</span></pre>
</div>
<p> style部分属性挺多,这里只列举出其中通用的部分</p>
<div class="cnblogs_code">
<pre>navigationBarBackgroundColor导航栏背景颜色(同状态栏背景色),如<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">#000000" </span>
navigationBarTextStyle 导航栏标题颜色及状态栏前景颜色,仅支持 black/<span style="color: rgba(0, 0, 0, 1)">white
navigationBarTitleText 导航栏标题文字内容
navigationBarShadow 导航栏阴影,配置参考下方 导航栏阴影
backgroundTextStyle 下拉 loading 的样式,仅支持 dark</span>/<span style="color: rgba(0, 0, 0, 1)">light
enablePullDownRefresh 是否开启下拉刷新,详见页面生命周期。</span><span style="color: rgba(0, 0, 255, 1)">Boolean</span><span style="color: rgba(0, 0, 0, 1)">
onReachBottomDistance 页面上拉触底事件触发时距页面底部距离,单位只支持px,详见页面生命周期 </span></pre>
</div>
<p> </p>
<p>2.tabBar : 设置底部 tab 的表现</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">tabBar": {</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">color": "#7A7E83",//文字颜色</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">selectedColor": "#3cc51f",//选中后文字颜色</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">borderStyle": "black",//边框的颜色,可选值 black/white</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">backgroundColor": "#ffffff",//背景色</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">list": [{//tab 的列表,2-5个 tab</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">pagePath": "pages/component/index",//页面路径,必须在 pages 中先定义</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">iconPath": "static/image/icon_component.png",//图片路径,icon 大小限制为40kb,建议尺寸81px*81px</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">selectedIconPath": "static/image/icon_component_HL.png",//选中时的图片路径</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">text": "组件"//tab 上按钮文字</span>
<span style="color: rgba(0, 0, 0, 1)"> }, {
</span><span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">pagePath": "pages/API/index",</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">iconPath": "static/image/icon_API.png",</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">selectedIconPath": "static/image/icon_API_HL.png",</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">text": "接口"</span>
<span style="color: rgba(0, 0, 0, 1)"> }]
}<br></span></pre>
</div>
<p> </p>
<p>可以通过midButton来设置中间按钮,仅为偶数时有效</p>
<p>midButton:中间按钮 仅在 list 项为偶数时有效</p>
<p> </p>
<p>3.globalStyle : 设置默认页面的窗口表现</p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">globalStyle": {</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">navigationBarTextStyle": "black",//导航栏标题颜色及状态栏前景颜色,仅支持 black/white</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">navigationBarTitleText": "演示",//导航栏标题文字内容</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">navigationBarBackgroundColor": "#F8F8F8",//导航栏背景颜色(同状态栏背景色)</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">backgroundColor": "#F8F8F8",//下拉显示出来的窗口的背景色</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">usingComponents":{//引用小程序组件</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">collapse-tree-item":"/components/collapse-tree-item"</span>
<span style="color: rgba(0, 0, 0, 1)"> },
</span><span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">pageOrientation": "portrait", //横屏配置,全局屏幕旋转设置(仅 APP/微信/QQ小程序),支持 auto / portrait / landscape</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">rpxCalcMaxDeviceWidth": 960,//rpx 计算所支持的最大设备宽度,单位 px</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">rpxCalcBaseDeviceWidth": 375,//rpx 计算使用的基准设备宽度</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">rpxCalcIncludeWidth": 750 // rpx 计算特殊处理的值,始终按实际的设备宽度计算,单位 rpx</span>
},</pre>
</div>
<p> </p>
<p>4.easycom : 组件自动引入规则</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">easycom": {</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">autoscan": true,//是否开启自动扫描,开启后将会自动扫描符合components/组件名称/组件名称.vue目录结构的组件</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">custom": {//以正则方式自定义组件匹配规则</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">^uni-(.*)": "@/components/uni-$1.vue", // 匹配components目录内的vue文件</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">^vue-file-(.*)": "packageName/path/to/vue-file-$1.vue" // 匹配node_modules内的vue文件</span>
<span style="color: rgba(0, 0, 0, 1)">}
}</span></pre>
</div>
<p> </p>
<p>5.condition : 启动模式配置</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">condition": { //模式配置,仅开发期间生效</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">current": 0, //当前激活的模式(list 的索引项)</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">list": [{</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">name": "swiper", //模式名称</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">path": "pages/component/swiper/swiper", //启动页面,必选</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">query": "interval=4000&autoplay=false" //启动参数,在页面的onLoad函数里面得到。</span>
<span style="color: rgba(0, 0, 0, 1)"> },
{
</span><span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">name": "test",</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">path": "pages/component/switch/switch"</span>
<span style="color: rgba(0, 0, 0, 1)"> }
]
}</span></pre>
</div>
<p> </p>
<p>6.subPackages : 分包加载配置</p>
<p>分包加载配置,此配置为小程序的分包加载机制,因小程序有体积和资源加载限制,各家小程序平台提供了分包方式,优化小程序的下载和启动速度。</p>
<div class="cnblogs_code">
<pre> <span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">subPackages": [{</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">root": "pagesA",//子包的跟目录,pages中的路径都是相对于这个路径的</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">pages": [{</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">path": "list/list",</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">style": { ...}</span>
<span style="color: rgba(0, 0, 0, 1)"> }]
}, {
</span><span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">root": "pagesB",</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">pages": [{</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">path": "detail/detail",</span>
<span style="color: rgba(128, 128, 128, 1)">"</span><span style="color: rgba(128, 128, 128, 1)">style": { ...}</span>
<span style="color: rgba(0, 0, 0, 1)"> }]
}]</span></pre>
</div>
<p> </p>
<p>7.其他对特定平台的支持</p>
<p>这部分暂时不用管</p><br><br>
来源:https://www.cnblogs.com/codermuyi/p/15185368.html
頁:
[1]