路由
小程序的路由是多个 iframe
的堆叠,每个iframe
运行在独立的 webview
中。
sass/scss
小程序的本身应该是支持 sass 预编译的处理的,在相关目录中能够看到这部分的 node_modules
文件,但是不知道如何正确开启。
sourceMap
小程序本身是生成了 sourceMap 文件的(还记得 mini-pkg-builder 嘛),但是对外的开放好像很少,只有在 IDE 中按天查看,生成的日志信息也偏少,感觉这一块还是有很大一部分内容,没有开放出来。希望这部分能力,尽快开放出来,对我们排查问题帮助很大。
我们本地其实是有 sourceMap 文件的,所以这里是否有可能构建我们自己的异常排查系统,比如说接入 sentry
?
引入 sentry
,小程序的异常被完美捕获,并且有行号和列号!而我们是有 sourceMap
文件的~,搭建一个我们自己的异常监控已经具备一定的可行性。sentry
提供了时间、趋势、设备型号、错误数量。啊,再也不想用那个简陋的异常系统了。
只需要在项目上传时候,多执行一次命令,把生成物的 sourceMap
传到 sentry
上面,想想真是美滋滋~
网络请求
小程序的网络请求都是通过 my.request
进行,不是 webview
部分发送,是原生在发送请求。
- 不存在跨域的情况
- 网络请求白名单机制
- 容易监控
小程序在打包审核时候,它的白名单已经是确定的了,所以网络请求应该是直接拿的小程序的配置文件去初始化白名单。
暂停,为了更好的前进
运行时分析到这里,远远没有结束,比如 jsBridge
如何被注入,其中的内容是什么。原生组件的渲染、my
方法的实现、小程序的插件机制等等,但是这里可能先要告一个段落了,因为分析不下去了,没有原生知识、周边知识匮乏,越来越多的点需要靠猜测去支撑,与其误人子弟,不如回炉重新修炼。后续重新起航,继续深入分析支付宝小程序。