背景需求
因为需要将各业务线通过划分jsbundle的形式进行分离,以达到
- 各个业务包独立更新、回滚以及版本管控
- 增量加载,优化启动速度
- 优化增量更新,只对单独某一业务包增量更新
案例参考
参考了携程以及各种网络版本的做法,大致总结为三种
每天学习新姿势
本项目基于Wechaty,这是一个封装了微信基本事件的开源库,比如onLogin(登陆事件)
,onMessage(消息事件)
,onLogout(登出事件)
等等,详细使用可参考该项目文档,
有了这些事件,我们可以基于Node.js很轻松的开发一些常用功能。
本项目Node版本需要 >= 10,可以自行安装nvm进行版本切换。
本项目工程代码wechat-boy
最近使用0.54.0版本开发有个调试的bug非常恶心,debug js remotely总是抛1
2
3
4DeltaPatcher.js:58 Uncaught (in promise) Error: DeltaPatcher should receive a fresh Delta when being initialized
at DeltaPatcher.applyDelta (DeltaPatcher.js:58)
at deltaUrlToBlobUrl (deltaUrlToBlobUrl.js:34)
at <anonymous>
想再次debug就得杀掉进程重新打开,官方解释在0.55版本会修复此问题,看了下pr改动都是js代码,随即更新版本修复此问题。若想以后碰到类似框架性的问题,想要自己能有排错纠错能力,还是老老实实啃源码吧