记录背景
其实微信小程序插件,一直想要学习研究。
可是插件又不会对小程序个人开发者开放,没办法用自己的小程序来研究。
在上家公司的时候,没有参与到插件开发的小组内,甚是遗憾。
正好这次有个项目机会用到了小程序插件,
赶紧把握机会玩耍了一波。
感觉这个插件功能,在对多个小程序都可以复用的场景,还是很有帮助的。
使用规则
通过开发插件的体验,我自己总结了一下插件的开发规则:
- 插件需要挂载一个符合指定类目的小程序下开发。(个人小程序不允许开发插件)
- 插件的版本号只能递增且不能重复。已发布的版本会永远在线上列表内。可以通过设置来控制用户使用插件的最低版本。(说明文档只会展示最新版本)
- 插件的体验版版本号,只在模拟器上传之后会出现,注意复制保存。(小程序引用体验版的时候,版本号前面需要追加
dev-
) - 插件和小程序内存相互独立,想要通讯只能通过传参,互相无法直接读取到对方的缓存等信息。
- 插件像是一个更高纬度的组件,其支持开发页面、组件、方法。业务小程序可通过引用插件来对插件的页面、组件、方法进行调用。
- 插件的大小会被业务小程序主包、子包计算在内,也会受到 2M 的限制,所以组件如果太大会影响业务小程序的调用。(貌似只有直播插件不会计算在内)
- 插件被业务小程序调用的时候,要么放在全局(占用主包大小),如果放到指定子包(占用指定子包大小)则只有这个子包可以使用,其他子包无法引用该插件也无法运用该插件。
- 插件的一些小程序 api 会无法使用如登录、鉴权等,具体详情可见下方文档。
- 插件的安全域名与业务小程序的安全域名是相互独立的。即:插件功能需要接口通讯时,需要在插件后台配置域名列表配置对应域名;而调用插件的业务小程序则无需配置插件功能所需的域名,直接引用插件功能即可实现接口通讯。
插件项目结构介绍
1 | . |