mpvue支持小程序的分包加载

这个功能可以说是让我们这些用mpvue的等的很焦灼,眼看着项目的大小一天天地逼近2M,mpvue还不能很好地支持分包加载,这可咋整?好消息是最近mpvue要支持分包加载了,不过目前在develop分支下面。下面我们一步步来看看怎么初始化一个支持分包加载的mpvue项目。

clone mpvue-quickstart模板

初始化一个mpvue项目是基于mpvue-quickstart项目模板的,使用的是下面的命令:

vue init mpvue/mpvue-quickstart my-project

但是这样是基于quickstart的master分支创建的项目,所以我们可以把这个模板clone下来,然后切换到develop分支上,再基于本地的模板创建一个新的mpvue项目,以下是一通(猛如虎的)操作:

git clone https://github.com/mpvue/mpvue-quickstart.git
cd mpvue-quickstart
git branch develop #切换到开发分支

这时,在项目的template/src目录下会有一个app.json文件,表明你现在在开发分支上。

分包体验

首先用本地分mpvue模板初始化一个项目,参考vue-cli使用本地模板的文档:

vue init ../mpvue-quickstart demo # 替换模板路径为相对于你项目的相对路径

可以看到我们将模板替换成了本地的模板,后面的操作就熟悉了。

初始化好项目之后,我们来写一个分包加载的demo。进入项目目录,我们可以看到一个json文件,就是上面提到的app.json。然后参考小程序文档,加入subpackages的相关配置:


{
  "pages": [
    "pages/index/main",
    "pages/logs/main"  ],
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "WeChat",
    "navigationBarTextStyle": "black"
  },
  "subPackages": [
    {
      "root": "pages/pA",
      "pages": [
        "a/main"
      ]
    }
  ]
}

然后在pages/下,新建pA/a目录,在目录下再新建两个文件,main.jsindex.vue,最终目录结构如下图所示:

后面的操作就跟之前的mpvue开发过程一致了,这里不再赘述。直接贴上相关代码:


index/index.vue 主包

...

<a href="../pA/a/main">分包</a> 跳转到分包
...

当点击上面的链接时,手机上会首先出现正在加载模块,然后跳转到build出来的pages/pA/a/mian页面,表示分包生效。(完)

最近写东西越来越水了。。。

原文地址:https://www.cnblogs.com/imgss/p/9478628.html

时间: 2024-08-29 03:22:42

mpvue支持小程序的分包加载的相关文章

【小程序】---分包加载

一.分包加载 某些情况下,开发者需要将小程序划分成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载 在构建小程序分包项目时,构建会输出一个或多个分包.每个使用分包小程序必定含有一个主包.所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本:而分包则是根据开发者的配置进行划分. 在小程序启动时,默认会下载主包并启动主包内页面,当用户用户进入分包内某个页面时,客户端会把对应分包下载下来,下载完成后再进行展示. 目前小程序分包大小有以下限制:

微信小程序之下拉加载和上拉刷新

微信小程序下拉刷新上拉加载的两种实现方法 方法一:onPullDownRefresh和onReachBottom方法实现小程序下拉加载和上拉刷新 首先要在json文件里设置window属性             属性   类型                           描述 enablePullDownRefresh Boolean 是否开启下拉刷新,详见页面相关事件处理函数. 设置js里onPullDownRefresh和onReachBottom方法 属性    类型 描述 on

微信小程序上拉加载和下拉刷新(wepy)

这篇随笔主要是记录在用wepy写小程序下拉刷新和上拉加载功能时遇到的数据显示不完全的问题及解决方法. 网上很多关于小程序的上拉加载和下拉刷新的文章的实现方法,无非两种,一是用scroll-view组件,另一种则是使用onReachBottom()和onPullDownRefresh()两个页面事件处理函数. scroll-view实现不好的是不能使用onPullDownRefresh,只能检测滚动到顶部触发刷新或者其它动画操作,以及在其内部使用textarea.map.canvas.video等

微信小程序-工具无法加载本地模拟开发服务的解决办法

微信小程序开发工具出现如下问题: 因为网络代理软件或者 VPN 影响,工具无法加载本地模拟开发服务  请尝试以下任一解决方案1.关闭相关网络代理软件,重新编译成功后,再启动相关网络代理软件: 2.配置相关软件不针对 *.appservice.open.weixin.qq.com 和 *.debug.open.weixin.qq.com 进行代理: 3.配置相关软件不针对 开发者工具 做代理 但是根本没用任何代理,找了很多方法,最终解决: 设置windows防火墙,允许微信web开发者工具使用网络

微信小程序之上拉加载更多

loadmore 加载更多(分页加载) 当用户打开一个页面时,假设后台数据量庞大时,一次性地返回所有数据给客户端,页面的打开速度就会有所下降,而且用户只看上面的内容而不需要看后面的内容时,也浪费用户流量,基于优化的角度来考虑,后台不要一次性返回所有数据,当用户有需要再往下翻的时候,再加载更加数据出来. 业务需求: 列表滚动到底部时,继续往上拉,加载更多内容 必备参数: (1)pageindex: 1 //第几次加载 (2)callbackcount: 15 //需要返回数据的个数 其他参数: 根

18.小程序上拉加载和下拉刷新

在微信小程序上实现下拉刷新.上拉加载的效果 使用系统提供的onPullDownRefresh.onReachBottom这2个事件, 前提需要在app.json或page.json配置文件中设置,才能使用. app.json是全应用的页面都可以使用该事件,page.json则只是对应的页面才可以使用. 示例: app.json: 在app.json文件里设置window属性 page.json: 在page.json文件里直接设置属性 示例: 结合导航栏loading显示正在加载的效果 Page

小程序中分页加载问题

别的不说,直接贴分页加载的代码,看注释就好 pasting //index.js const app = getApp() //分装的require 函数,http.js见本人随笔"解决小程序分装的require问题" var http = require('../../../service/http.js'); Page({ data: { newsBulletin: [], page:1, pageSize:8, hasMoreData: true, }, /** * 生命周期函数

微信小程序上拉加载更多

一般上拉加载更多用于数据太多,一次加载完成数据卡顿,差不多就是一个分页的功能, 写法很简单,首页data数据中先定义一个page为1,第一次进入页面调用接口将为1的page传给后台,随后在小程序自带的onReachBottom函数中操作 onReachBottom: function () { var that = this; console.log(that) var page = that.data.page page++; that.setData({ page: page }) // 显

微信小程序上拉加载下拉刷新

微信小程序实现上拉加载下拉刷新 使用小程序默认提供方法. (1). 在xxx.json 中开启下拉刷新,需要设置backgroundColor,或者是backgroundTextStyle ,因为加载的动画可能会是白色背景,会看不清. { "usingComponents": { "annicate": "/components/annicate/index" }, "navigationBarTitleText": &quo