目录
1.在app.json中设置分包
2.在需要分包的页面中引入分包
3.加载分包
4.分包优化
分包与主包的通讯
分包中使用公共库和组件
分包中的图片资源
1.在app.json中设置分包
{
"pages": [...],
"subpackages": [
{
"root": "subpackageA",
"pages": [
"pageA"
]
},
{
"root": "subpackageB",
"pages": [
"pageB"
]
}
]
}
上面的代码定义了两个分包:subpackageA和subpackageB,其中subpackageA只包含一个页面pageA,而subpackageB只包含一个页面pageB。
2.在需要分包的页面中引入分包
//pageA.js
const subpackageA = getApp().loadSubPackage('subpackageA');
上面的代码中,我们在pageA.js中引入了subpackageA,这样就可以在pageA页面中使用subpackageA中的代码了。
3.加载分包
//app.js
App({
loadSubPackage(subPackageRoot) {
return new Promise((resolve, reject) => {
wx.loadSubPackage({
root: subPackageRoot,
success: res => resolve(res),
fail: err => reject(err)
})
})
}
})
在app.js文件中,我们定义了一个loadSubPackage方法,用于加载分包。该方法返回一个Promise对象,当分包加载成功时,Promise对象的状态为resolved,否则状态为rejected。wx.loadSubPackage是微信小程序提供的API,用于加载分包。
4.分包优化
小程序分包操作完成后,需要进行一些优化操作,以提升小程序的性能。
常见的优化操作包括:
-
分包与主包的通讯
在分包中使用getApp()方法无法访问主包中的数据和方法,需要使用wx.getStorageSync、wx.setStorageSync等微信小程序提供的API进行数据共享和通讯。
-
分包中使用公共库和组件
分包中可以使用公共库和组件,但需要在app.json文件中进行相应的设置。
-
分包中的图片资源
分包中的图片资源需要放在分包中,否则会加载失败。