您现在的位置是:网站首页> 小程序设计

uniapp分包

摘要

假设支持分包的 uni-app 目录结构如下:

┌─pages               

│  ├─index

│  │  └─index.vue    

│  └─login

│     └─login.vue    

├─pagesA   

│  ├─static

│  └─list

│     └─list.vue 

├─pagesB    

│  ├─static

│  └─detail

│     └─detail.vue  

├─static             

├─main.js       

├─App.vue          

├─manifest.json  

└─pages.json 

则需要在 pages.json 中填写


{

    "pages": [{

        "path": "pages/index/index",

        "style": { ...}

    }, {

        "path": "pages/login/login",

        "style": { ...}

    }],

    "subPackages": [{

        "root": "pagesA",

        "pages": [{

            "path": "list/list",

            "style": { ...}

        }]

    }, {

        "root": "pagesB",

        "pages": [{

            "path": "detail/detail",

            "style": { ...}

        }]

    }],

    "preloadRule": {

        "pagesA/list/list": {

            "network": "all",

            "packages": ["__APP__"]

        },

        "pagesB/detail/detail": {

            "network": "all",

            "packages": ["pagesA"]

        }

    }

}

preloadRule

分包预载配置。

配置preloadRule后,在进入小程序某个页面时,由框架自动预下载可能需要的分包,提升进入后续分包页面时的启动速度

preloadRule 中,key 是页面路径,value 是进入此页面的预下载配置,每个配置有以下几项:

字段类型必填默认值说明
packagesStringArray进入页面后预下载分包的 root 或 name__APP__ 表示主包。
networkStringwifi在指定网络下预下载,可选值为:all(不限网络)、wifi(仅wifi下预下载)

app的分包,同样支持preloadRule,但网络规则无效。



Top