1.分包

简介:

某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。

在构建小程序分包项目时,构建会输出一个或多个分包。每个使用分包小程序必定含有一个主包。

所谓的主包,即放置默认启动页面/TabBar页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据开发者的配置进行划分。

在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后再进行展示。

目的:对小程序进行分包,可以优化小程序首次启动的下载时间,以及在多团队共同开发时可以更好的解耦协作。

步骤:

在项目中,把 tabBar 相关的 4 个页面放到主包中,其它页面(例如:商品详情页、商品列表页)放到分包中。在 uni-app 项目中,配置分包的步骤如下:

在项目根目录中,创建分包的根目录,命名为 subpkg

在 pages.json 中,和 pages 节点平级的位置声明 subPackages 节点,用来定义分包相关的结构:



{


  "pages": [


    {


      "path": "pages/home/home",


      "style": {}


    },


    {


      "path": "pages/cate/cate",


      "style": {}


    },


    {


      "path": "pages/cart/cart",


      "style": {}


    },


    {


      "path": "pages/my/my",


      "style": {}


    }


  ],


  "subPackages": [


    {


      "root": "subpkg",


      "pages": []


    }


  ]


}


2.路由跳转

uniapp 采用了 微信小程序的路由系统 ,分为两种:

标签跳转 navigator

编程跳转 uni.navigateTo()



<!-- 1、标签方式跳转 -->


<navigator url="../details/details">跳转到详情页</navigator>


<!-- 2、编程方式跳转 -->


<button type="primary" @click="godetail">跳转到详情页</button>


 


<script>


export default {


  methods: {


    godetail(){


      //快捷方式:unav


      uni.navigateTo({


        url: '../details/details',


      });


    }


  }


};


</script>