微信小程序day8

一:在小程序中使用npm

不支持依赖node.js内置库的包

不支持依赖于浏览器内置对象的包

不支持c++插件的包

在终端里执行npm init -y

!注意:每次下载一个npm包后都需要重新构建npm

点击工具——>构建npm

二:api的promise化

1:实现API的promise化

在小程序中主要通过miniprogram-api-promise这个第三方的npm包实现

 将wx.方法函数挂载到wx.p空对象上

例调用promise化的api,

网络请求

三:全局数据共享

1:小程序中的全局共享方案:Mobx

1:mobx-miniprogram

用来创建Store实例对象,Store(用来存放共享的数据)

2:mobx-miniprogram-bindings

把Store中的共享的数据或方法,绑定到组件或页面中使用

npm i --save mobx-miniprogram@4.12.2  mobx-miniprogram-bindings@1.2.1

2:创建Mobx的Store实例

3:将Store中的成员绑定到页面中

 

4:将Store中的成员绑定到组件中

四:分包

1:什么是分包

把一个完整的小程序项目。按照需求划分为不同的子包在构建时打包成不同的分包,用户在使用时按需进行加载

可以优化小程序首次启动的下载时间

在多团对共同开发时可以更好的解耦协作

2:分包后的项目构成

一个小程序由一个主包多个分包构成

主包:一般含有项目的启动页或者TabBar页面,以及所有分包用的公共资源

分包:包含和当前分包有关的页面和私有的资源

 

3:分包的加载规则

1:小程序启动时,默认会下载主包并启动主包内页面

      tabBar页面需要放到主包中

2:当用户进入分包的页面时客户端会把对应的分包下载下来在进行展示

      非tabBar页面可以按照不同的功能需求划分为不同的分包,进行按需下载

注意:整个小程序所有的分包的大小不能超过16MB(主包+所有分包),单个分包/主包大小不能超过2MB

4:使用分包

配置方法

|------ app.js

|------ app.json

|------ app.wxss

|------ pages        //主包的所有页面

|        |------index

|        |------logs

|------packageA        //第一个分包

|        |------pages        //第一个分包的所有页面

|                |------cat

|                |------dog

|------packageB        //第二个分包

|        |------pages        //第二个分包的所有页面

|                |------apple

|                |------banana

|------utils

在app.json中分包

 看分包大小

 5:原则

1打包原则

1.小程序会按照subpackages的配置进行分包,subpackages之外的目录将被打包到主包中

2.主包也可以有自己的pages(既最外层的pages)

3.tabBar页面必须在主包中

4.分包之间不能互相嵌套

2引用原则

主包无法引用分包内的私有资源

分包之间不能相互引用私有资源

分包可以引用主包公共资源

6:独立分包

独立分包本质上也是分包,只不过它可以独立与主包和其他分包独立运行

独立分包和普通分包的区别

1.普通分包必须依赖于主包才能运行

2.独立分包可以在不下载主包的情况下独立运行

独立分包的应用场景

具有某些一定功能独立性的页面

可以很大程度上提升分包页面的启动速度

一个小程序中可以有多个独立分包

7:独立分包的配置

|------ app.js

|------ app.json

|------ app.wxss

|------ pages        //主包的所有页面

|        |------index

|        |------logs

|------packageA        //普通分包

|        |------pages        //普通分包的所有页面

|                |------cat

|                |------dog

|------moduleB        //独立

|        |------pages        

|                |------pear

|                |------pineapple

|------utils

在普通分包在及加上 "independent": true就可以将普通分包变为独立分包

引用原则

独立分包和普通分包和主包之间,是相互隔绝的,不能相互引用彼此的资源

主包为无法引用独立分包内的私有资源

独立分包之间,不能相互引用私有资源

独立分包和普通分包之间,不能相互引用私有资源

独立分包也不能引用主包的公共资源

8:分包预下载

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

配置分包预下载:

预下载分包行为,会在进入指定的页面时触发,在app.json中,使用preloadRule节点定义分包预下载规则

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值