提交 80681c71 编写于 作者: 辛宝Otto's avatar 辛宝Otto 🥊

feat(manifest): 整理 toc,整理代码高亮

上级 5accfbd5
......@@ -2,7 +2,7 @@
`manifest.json` 文件是应用的配置文件,用于指定应用的名称、图标、权限等。HBuilderX 创建的工程此文件在根目录,CLI 创建的工程此文件在 src 目录。
### 配置项列表
## 配置项列表
|属性|类型|默认值|描述|最低版本|
|:-|:-|:-|:-|:-|
......@@ -34,7 +34,7 @@
- versionName在云打包App和生成wgt应用资源时会使用。如需升级App版本,先修改此处再云打包。导出wgt资源用于离线打包和热更新时也会以此版本为依据。
- 在本地打包时和热更新时,App版本和wgt应用资源版本将不再保持一致。此时通过[plus.runtime.version](https://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.version)可获取App版本,通过[plus.runtime.getProperty](https://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.getProperty)获取wgt资源版本。
#### networkTimeout
### networkTimeout
各类网络请求的超时时间,单位均为毫秒。
......@@ -47,8 +47,8 @@
`HBuilderX 2.5.10`起,上述默认超时时间由6秒改为60秒,对齐微信小程序平台。
### uniStatistics
#### uniStatistics
uni 统计配置项
|属性|类型|必填|默认值|说明|
......@@ -73,7 +73,6 @@ uni 统计配置项
|uniStatistics|Object|[App 是否开启 uni 统计,配置方法同全局配置](/collocation/manifest?id=uniStatistics)|2.2.3+|
|webView|Object|当系统webview低于指定版本时,会弹出提示。或者下载x5内核后继续启动,仅Android支持,[详情](/collocation/manifest?id=appwebview)|3.5.0+|
PS:上表只列出了核心部分,App平台的配置其实非常多,完整内容请参考 [完整的 manifest.json](/collocation/manifest-app?id=full-manifest)
**Tips**
......@@ -84,7 +83,6 @@ PS:上表只列出了核心部分,App平台的配置其实非常多,完整
- 部分 modules 是默认的,不需要进行配置。
- 微信小程序的 `appid` 等信息,需要配置在 `mp-weixin` 节点下。不要配置在 `app-plus`下。`sdkConfigs` 下出现的 `weixin` 节点,配置的是 App 的第三方 SDK 信息。
#### App Splashscreen@splashscreen
splash(启动封面)是App必然存在的、不可取消的。
......@@ -97,14 +95,15 @@ splash(启动封面)是App必然存在的、不可取消的。
alwaysShowBeforeRender和autoclose属性组合设置,可配置以下三种关闭启动界面(splash)策略,[详见](tutorial/app-splashscreen)
**注意**
- 如果不配置自己的splash图,App端会默认把App的icon放到splash中
- splash只能是标准png,不要用jpg改名为png。也不支持gif等动画
- 相关改动,云打包生效,真机运行不生效。本地打包需自行在原生工程中配置
- App启动图中iOS的MAX等大屏设备的splash图若不配,会导致iOS认为此App没有为MAX优化,App将无法全屏,四周会有黑边
- Android的splash支持.9.png,[详见](tutorial/app-splashscreen?id=9png)
#### App Modules@modules
模块选择是为了控制App的包体积,不需要的模块可以在打包时剔除。
|名称|描述|
......@@ -126,6 +125,7 @@ alwaysShowBeforeRender和autoclose属性组合设置,可配置以下三种关
|VideoPlayer|视频播放|
**注意**
- 仅App云打包生效。本地打包需自行在原生工程中配置。
#### App Distribute@distribute
......@@ -163,12 +163,14 @@ alwaysShowBeforeRender和autoclose属性组合设置,可配置以下三种关
|:-|:-|:-|
|subPackages|Boolean|是否开启分包优化,目前仅 uni-app vue2 下生效|
```
"app-plus": {
"optimization": {
"subPackages": true
},
"runmode" : "liberate" // 开启分包优化后,必须配置资源释放模式
```json
{
"app-plus": {
"optimization": {
"subPackages": true
},
"runmode" : "liberate" // 开启分包优化后,必须配置资源释放模式
}
}
```
......@@ -177,19 +179,19 @@ alwaysShowBeforeRender和autoclose属性组合设置,可配置以下三种关
也就是一旦在pages.json里配置分包,小程序一定生效,而app是否生效,取决于manifest里是否开启。
注意:
* App开启分包后,每个分包单独编译成一个js文件(都包含在app内,不会联网下载),当App首页是vue时,可减小启动加载文件大小,提升启动速度。
* 首页是nvue时,分包不会提升启动速度,nvue本身启动速度就快于vue,也快于开启分包后的首页为vue的应用。如果追求极致启动速度,还是应该使用nvue做首页并在manifest开启fast模式。
* App页面较少时,分包对启动速度的优化不明显。
#### nvue@nvue
`nvue` 页面布局初始设置
|属性|类型|描述|
|:-|:-|:-|
|flex-direction|String| flex 成员项的排列方向,支持项,row:从左到右; row-reverse:从右到左;column:从上到下;column-reverse:与 column 相反,默认值 column。|
#### webview@appwebview
> uni-app 3.5.0+
......@@ -213,7 +215,6 @@ x5 属性说明
|showTipsWithoutWifi|Boolean|false|是否在非WiFi网络环境时,显示用户确认下载x5内核的弹窗。(如果为true时,在非WiFi网络下载x5模块,会显示用户确认弹框,内容为 `当前处于非WiFi网络,是否允许下载x5模块?` ,false时不显示弹框 。)|
|allowDownloadWithoutWiFi|Boolean|false|是否允许用户在非WiFi网络时进行x5内核的下载。(如果为true,就不会显示用户确认的弹窗。false时,如果showTipsWithoutWifi为true,就会显示用户确认弹框;showTipsWithoutWifi为false时,不下载x5模块。)|
webview示例
```json
......@@ -234,10 +235,11 @@ webview示例
提示:vue3 vue页面 要求 Android 系统 webview 最低版本为 `64.0.3282.116`
### h5
|属性|类型|说明|
|:-|:-|:-|
|title|String|页面标题,默认使用 manifest.json 的 name|
|template|String|index.html模板路径,相对于应用根目录,可定制生成的 html 代码。参考:[自定义模板](/collocation/manifest?id=h5-template)|
|template|String|index.html 模板路径,相对于应用根目录,可定制生成的 html 代码。参考:[自定义模板](/collocation/manifest?id=h5-template), Vue2 支持,Vue3 暂不支持|
|router|Object|参考:[router](/collocation/manifest?id=h5-router)|
|async|Object|参考:[async](/collocation/manifest?id=h5-async)|
|devServer|Object|开发环境 server 配置,参考:[devServer](/collocation/manifest?id=devserver)|
......@@ -247,6 +249,9 @@ webview示例
|uniStatistics|Object|[H5 是否开启 uni 统计,配置方法同全局配置](/collocation/manifest?id=uniStatistics)||
#### 自定义模板@h5-template
> 目前 Vue2 支持, Vue3 暂不支持
需要使用自定义模板的场景,通常有以下几种情况:
- 调整页面 head 中的 meta 配置
......@@ -254,6 +259,7 @@ webview示例
- 加入百度统计等三方js
使用自定义模板时,1. 工程根目录下新建一个html文件;2. 复制下面的基本模板内容,到这个html文件,在此基础上修改meta和引入js;3. 在 `manifest.json->h5->template` 节点中关联这个html文件的路径。
```html
<!DOCTYPE html>
<html lang="zh-CN">
......@@ -293,6 +299,7 @@ H5平台是SPA单页应用,普通的SEO信息即加meta字段只能在,自
但SEO的时代在变,现在更有效的方式,使用uni-app同时发布一版百度小程序,这个搜索权重更高。DCloud的ask社区的H5版也是uni-app做的,同时发布了百度小程序,权重更高,每天来自百度的搜索量非常多。是一个可现身说法的好案例。
#### router@h5-router
|属性|类型|默认值|说明|
|:-|:-|:-|:-|
|mode|String|hash|路由跳转模式,支持 hash、history|
......@@ -304,6 +311,7 @@ H5平台是SPA单页应用,普通的SEO信息即加meta字段只能在,自
* `history` 模式发行需要后台配置支持,详见:[history 模式的后端配置](https://router.vuejs.org/zh/guide/essentials/history-mode.html#%E5%90%8E%E7%AB%AF%E9%85%8D%E7%BD%AE%E4%BE%8B%E5%AD%90)
#### async@h5-async
|属性|类型|默认值|说明|
|:-|:-|:-|:-|
|loading|String|AsyncLoading|页面 js 加载时使用的组件(需注册为全局组件)|
......@@ -312,6 +320,7 @@ H5平台是SPA单页应用,普通的SEO信息即加meta字段只能在,自
|timeout|Number|60000|页面 js 加载超时时间(超时后展示 error 对应的组件)|
#### devServer
|属性|类型|默认值|说明|
|:-|:-|:-|:-|
|https|Boolean|false|启用 https 协议|
......@@ -321,6 +330,7 @@ H5平台是SPA单页应用,普通的SEO信息即加meta字段只能在,自
Tips:`uni-app``manifest.json->h5->devServer``vue2` 实际上对应 `webpack`[devServer](https://webpack.js.org/configuration/dev-server/)`vue3` 实际上对应 `vite`[server](https://cn.vitejs.dev/config/server-options.html#server-options),鉴于 manifest 为 json 文件,故 `webpack.config.js->devServer``vite.config.js->server` 配置项下的简单类型属性均可在`manifest.json->h5->devServer`节点下配置,funciton 等复杂类型暂不支持。
#### publicPath
配置 publicPath 为 cdn 资源地址前缀,这样编译出来的 html 文件,引用的 js,css 路径会自动变成 cdn 上的地址。
注意:如果想对图片生效,image组件的图片地址需要使用相对路径
......@@ -335,6 +345,7 @@ Tips:`uni-app` 中 `manifest.json->h5->devServer`,`vue2` 实际上对应 `we
<script src=/h5/static/js/chunk-vendors.803ce52d.js></script>
<script src=/h5/static/js/index.34e8497d.js>
```
配置 publicPath 为 `https://www.cdn.com/h5/`(无效地址仅用作示例) 后,发布时 index.html 中的结果:
```html
......@@ -343,6 +354,7 @@ Tips:`uni-app` 中 `manifest.json->h5->devServer`,`vue2` 实际上对应 `we
```
**注意**
- 打包部署后,在服务器上开启 gzip 可以进一步压缩文件。具体的配置,可以参考网上的分享:https://juejin.im/post/5af003286fb9a07aac24611b
#### sdkconfig@h5sdkconfig
......@@ -360,6 +372,7 @@ Tips:`uni-app` 中 `manifest.json->h5->devServer`,`vue2` 实际上对应 `we
**示例**
```json
{
"h5": {
"sdkConfigs": {
// 使用地图或位置相关功能必须填写其一
......@@ -387,9 +400,8 @@ Tips:`uni-app` 中 `manifest.json->h5->devServer`,`vue2` 实际上对应 `we
}
}
}
}
```
**注意**
- 百度地图 vue2 项目暂不支持
#### optimization
......@@ -406,11 +418,14 @@ Tips:`uni-app` 中 `manifest.json->h5->devServer`,`vue2` 实际上对应 `we
|enable|Boolean|false|是否启用摇树优化|
**示例:**
```json
"h5": {
"optimization": {
"treeShaking": {
"enable": true
{
"h5": {
"optimization": {
"treeShaking": {
"enable": true
}
}
}
}
......@@ -441,7 +456,6 @@ Tips:关于摇树优化(treeShaking)原理及优化结果,参考:[http
|requiredPrivateInfos|Array|地理位置相关接口。[详见](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#requiredPrivateInfos)|
|lazyCodeLoading|String| 目前仅支持值 requiredComponents,代表开启小程序[按需注入](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/lazyload.html#%E6%8C%89%E9%9C%80%E6%B3%A8%E5%85%A5)特性,[详见](https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#lazyCodeLoading)|
#### setting
编译到微信小程序平台下的项目设置。
......@@ -479,9 +493,7 @@ Tips:关于摇树优化(treeShaking)原理及优化结果,参考:[http
配置目录之后,需要在项目根目录新建 `vue.config.js` 配置对应的文件编译规则
```javascript
{
plugins: [
new CopyWebpackPlugin([
{
......@@ -491,7 +503,6 @@ Tips:关于摇树优化(treeShaking)原理及优化结果,参考:[http
]),
],
}
```
### mp-alipay
......@@ -660,22 +671,24 @@ HBuilderX 3.6.16+ 支持项目根目录(cli 项目为 src 目录)下创建配置
**manifest.json配置**
```json
"quickapp-webview": {// 快应用通用配置
"icon": "/static/logo.png",
"package": "com.example.demo",
"versionName": "1.0.0",
"versionCode": 100
},
"quickapp-webview-union": {// 快应用联盟,目前仅支持 vivo、oppo
"minPlatformVersion": 1063 //最小平台支持
},
"quickapp-webview-huawei": {// 快应用华为
"minPlatformVersion": 1070 //最小平台支持
{
"quickapp-webview": {// 快应用通用配置
"icon": "/static/logo.png",
"package": "com.example.demo",
"versionName": "1.0.0",
"versionCode": 100
},
"quickapp-webview-union": {// 快应用联盟,目前仅支持 vivo、oppo
"minPlatformVersion": 1063 //最小平台支持
},
"quickapp-webview-huawei": {// 快应用华为
"minPlatformVersion": 1070 //最小平台支持
}
}
```
### FAQ
Q:iOS 应用调用相机等权限时,弹出的提示语如何修改?
A:在 manifest.json 可视化界面-App模块权限配置-iOS隐私信息访问的许可描述
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册