700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 微信小程序开发文档-小程序配置 /全局配置

微信小程序开发文档-小程序配置 /全局配置

时间:2020-03-08 07:30:32

相关推荐

微信小程序开发文档-小程序配置 /全局配置

# 全局配置

小程序根目录下的app.json文件用来对微信小程序进行全局配置。文件内容为一个 JSON 对象,有以下属性:

# 配置项

# entryPagePath

指定小程序的默认启动路径(首页),常见情景是从微信聊天列表页下拉启动、小程序列表启动等。如果不填,将默认为pages列表的第一项。不支持带页面路径参数。

{"entryPagePath": "pages/index/index"}

# pages

用于指定小程序由哪些页面组成,每一项都对应一个页面的 路径(含文件名) 信息。文件名不需要写文件后缀,框架会自动去寻找对应位置的.json,.js,.wxml,.wxss四个文件进行处理。

未指定entryPagePath时,数组的第一项代表小程序的初始页面(首页)。

小程序中新增/减少页面,都需要对 pages 数组进行修改。

如开发目录为:

├── app.js├── app.json├── app.wxss├── pages│ │── index│ │ ├── index.wxml│ │ ├── index.js│ │ ├── index.json│ │ └── index.wxss│ └── logs│├── logs.wxml│└── logs.js└── utils

则需要在 app.json 中写

{"pages": ["pages/index/index", "pages/logs/logs"]}

# window

用于设置小程序的状态栏、导航条、标题、窗口背景色。

注 1:HexColor(十六进制颜色值),如"#ff00ff"注 2:关于navigationStyleiOS/Android 客户端 7.0.0 以下版本,navigationStyle只在app.json中生效。iOS/Android 客户端 6.7.2 版本开始,navigationStyle: custom对 web-view 组件无效开启 custom 后,低版本客户端需要做好兼容。开发者工具基础库版本切到 1.7.0(不代表最低版本,只供调试用)可方便切到旧视觉Windows 客户端 3.0 及以上版本,为了给用户提供更符合桌面软件的使用体验,统一了小程序窗口的导航栏,navigationStyle: custom不再生效

# restartStrategy

基础库 2.8.0 开始支持,低版本需做兼容处理。

重新启动策略配置

如:

{"window": {"navigationBarBackgroundColor": "#ffffff","navigationBarTextStyle": "black","navigationBarTitleText": "微信接口功能演示","backgroundColor": "#eeeeee","backgroundTextStyle": "light"}}

# tabBar

如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。

其中 list 接受一个数组,只能配置最少 2 个、最多 5 个 tab。tab 按数组的顺序排序,每个项都是一个对象,其属性值如下:

# networkTimeout

各类网络请求的超时时间,单位均为毫秒。

# debug

可以在开发者工具中开启debug模式,在开发者工具的控制台面板,调试信息以info的形式给出,其信息有 Page 的注册,页面路由,数据更新,事件触发等。可以帮助开发者快速定位一些常见的问题。

# functionalPages

基础库 2.1.0 开始支持,低版本需做兼容处理。

插件所有者小程序需要设置这一项来启用插件功能页。

# subpackages

微信客户端 6.6.0 ,基础库 1.7.3 及以上版本支持

启用分包加载时,声明项目分包结构。

写成 subPackages 也支持。

# workers

基础库 1.9.90 开始支持,低版本需做兼容处理。

使用 Worker 处理多线程任务时,设置Worker代码放置的目录

# requiredBackgroundModes

微信客户端 6.7.2 及以上版本支持

申明需要后台运行的能力,类型为数组。目前支持以下项目:

audio: 后台音乐播放location: 后台定位

如:

{"pages": ["pages/index/index"],"requiredBackgroundModes": ["audio", "location"]}

注:在此处申明了后台运行的接口,开发版和体验版上可以直接生效,正式版还需通过审核。

# plugins

基础库 1.9.6 开始支持,低版本需做兼容处理。

声明小程序需要使用的插件。

# preloadRule

基础库 2.3.0 开始支持,低版本需做兼容处理。

声明分包预下载的规则。

# resizable

基础库 2.3.0 开始支持,低版本需做兼容处理。

在 iPad 上运行的小程序可以设置支持屏幕旋转。

在 PC 上运行的小程序,用户可以按照任意比例拖动窗口大小,也可以在小程序菜单中最大化窗口

# usingComponents

开发者工具 1.02.1810190 及以上版本支持

在此处声明的自定义组件视为全局自定义组件,在小程序内的页面或自定义组件中可以直接使用而无需再声明。

# permission

微信客户端 7.0.0 及以上版本支持

小程序接口权限相关设置。字段类型为Object,结构为:

PermissionObject 结构

如:

{"pages": ["pages/index/index"],"permission": {"scope.userLocation": {"desc": "你的位置信息将用于小程序位置接口的效果展示" // 高速公路行驶持续后台定位}}}

# sitemapLocation

指明 sitemap.json 的位置;默认为 'sitemap.json' 即在 app.json 同级目录下名字的sitemap.json文件

# style

基础库 2.8.0 开始支持,低版本需做兼容处理。

微信客户端 7.0 开始,UI 界面进行了大改版。小程序也进行了基础组件的样式升级。app.json 中配置"style": "v2"可表明启用新版的组件样式。

本次改动涉及的组件有button icon radio checkbox switch slider。可前往小程序示例进行体验。

# useExtendedLib

基础库 2.2.1 开始支持,低版本需做兼容处理。

最新的 nightly 版开发者工具开始支持,同时基础库从支持 npm 的版本(2.2.1)起支持

指定需要引用的扩展库。目前支持以下项目:

kbone: 多端开发框架weui: WeUI 组件库

指定后,相当于引入了对应扩展库相关的最新版本的 npm 包,同时也不占用小程序的包体积。rc工具版本支持分包引用。用法如下:

{"useExtendedLib": {"kbone": true,"weui": true}}

# entranceDeclare

微信客户端 7.0.9 及以上版本支持,iOS 暂不支持

聊天位置消息用打车类小程序打开,详情参考。

"entranceDeclare": {"locationMessage": {"path": "pages/index/index","query": "foo=bar"}}

# darkmode

开发者工具 1.03.271 及以上版本支持,基础库 2.11.0 及以上版本支持

微信iOS客户端 7.0.12 版本、Android客户端 7.0.13 版本正式支持 DarkMode,可通过配置"darkmode": true表示当前小程序可适配 DarkMode,所有基础组件均会根据系统主题展示不同的默认样式,navigation bar 和 tab bar 也会根据开发者的配置自动切换。

配置后,请根据DarkMode 适配指南自行完成基础样式以外的适配工作。

{"darkmode": true}

# themeLocation

自定义 theme.json 的路径,当配置"darkmode":true时,当前配置文件为必填项。

{"themeLocation": "/path/to/theme.json"}

# lazyCodeLoading

目前仅支持值requiredComponents,代表开启小程序「按需注入」特性。

{"lazyCodeLoading": "requiredComponents"}

# singlePage

基础库 2.11.3 及以上版本支持,目前分享到朋友圈 (Beta) 后打开会进入单页模式

单页模式相关配置

# 配置示例

{"pages": ["pages/index/index", "pages/logs/index"],"window": {"navigationBarTitleText": "Demo"},"tabBar": {"list": [{"pagePath": "pages/index/index","text": "首页"},{"pagePath": "pages/logs/logs","text": "日志"}]},"networkTimeout": {"request": 10000,"downloadFile": 10000},"debug": true,}

# embeddedAppIdList

指定小程序可通过wx.openEmbeddedMiniProgram打开的小程序名单。

{"embeddedAppIdList": ["wxe5f52902cf4de896"]}

``` graph LR A-->B ```

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。