From 80681c712bbd76fff1381526ffe7d3d1d9cc9c72 Mon Sep 17 00:00:00 2001 From: jixinbao Date: Fri, 15 Dec 2023 15:57:30 +0800 Subject: [PATCH] =?UTF-8?q?feat(manifest):=20=E6=95=B4=E7=90=86=20toc?= =?UTF-8?q?=EF=BC=8C=E6=95=B4=E7=90=86=E4=BB=A3=E7=A0=81=E9=AB=98=E4=BA=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/collocation/manifest.md | 89 +++++++++++++++++++++--------------- 1 file changed, 51 insertions(+), 38 deletions(-) diff --git a/docs/collocation/manifest.md b/docs/collocation/manifest.md index b45bc2746..66cddcf30 100644 --- a/docs/collocation/manifest.md +++ b/docs/collocation/manifest.md @@ -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 @@ -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