app.json 是小程序的全局配置文件,用来配置页面文件的路径、窗口样式、网络超时时间、多 tab 等属性的表现。
"pages": ["pages/index/index", "pages/logs/logs"],
"navigationBarTitleText": "Demo"
"pagePath": "pages/index/index",
"pagePath": "pages/logs/logs",
"pages/index/index": "pages/index/index.sk"
- 小程序仅支持竖屏,不支持横屏配置;不支持配置窗口大小。
- 配置 navigationStyle: custom 需要在“小程序开发者平台-功能管理-页面结构自定义”申请权限,否则会阻碍代码包上传,2022 年 5 月 23 日会强制变动。但是 custom 即使申请通过了白名单,能力也会受到限制,主要体现在左上角按钮(新增样式,于 5 月 23 日上线)部分不能定制化。如果要获取左上角按钮位置信息可以参考 getCustomButtonBoundingClientRect。
指定小程序的默认启动路径(首页)。如果不填,默认为 pages 列表的第一项。不支持带页面路径参数。
"entryPagePath": "pages/index/index"
这个字段用于配置小程序用到的所有页面路径,配置每项是 路径 + 文件名 这个结构。配置项的第一个页面路径就是小程序启动展示的第一个页面。
需要注意:保证单个页面的 .json、.js、.ttml、.ttss 资源都放在每个页面路径的首层。
|____project.config.json
"pages": ["pages/index/index"]
这个字段用于设置小程序的状态栏、导航条、标题、窗口背景色。
注意:这里的窗口是指由端上控制的页面,与开发者用代码绘制的页面不是同一个概念。
因此对于 backgroundColor 这类配置项,与开发者在代码中编写的样式不会有优先级覆盖关系。
如果你的小程序包含多个 tab(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。比如设置 tab 展示标题和 tab 颜色等。
其中 list 接受一个数组,数组中的每个项都是一个对象,其属性值如下:
navigateToMiniProgramAppIdList
部分授权弹窗的副标题支持开发者自定义,每次提审后会审核该文案,如不通过,直接打回。

如果开发者没有填写某个 scope, 就使用该 scope 的默认文案,各 scope 的默认文案如下:
配置小程序 Cookie 相关功能,详见小程序 Cookie 机制。
配置小程序框架骨架屏能力,详见小程序框架骨架屏。 使用 Worker 处理多线程任务时,设置 Worker 代码放置的目录或单个文件路径。 referrerPolicy 是一个 string key-object value 键值对,目前支持以下能力配置 referer 规则:
publishVideoHookPriorityList
"publishVideoHookPriorityList": ["onUploadDouyinVideo", "onShareAppMessage"]
小程序的每一个页面的窗口表现也可以通过页面目录下的 .json文件进行配置,这个页面的独立配置会比 app.json 要简单。
如果 app.json 的 window 字段里面配置了某个页面的窗口样式,同时该页面也在自己的 .json 文件中做了对应字段的配置的话,框架会优先采用页面里面的 .json 相应配置项。
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"navigationBarTitleText": "头条接口功能演示",
"backgroundColor": "#eeeeee",
"backgroundTextStyle": "light",
"my-component": "path/to/a/custom/component"
"hideAnchorButton": false,
"hideAnchorButtonConfig": {
project.config.json是小程序的项目配置文件,主要包括了针对小程序项目配置的一些信息,例如项目名称,App ID,项目语法,编译配置等内容。这些内容可以在开始创建项目的过程中通过开发者工具生成,开发者也可以根据需要进行修改和配置。