小程序的完整渲染机制到底是什么?(求关注本问题感谢)
发布于 5 年前 作者 rdai 2698 次浏览 来自 问答

我不知道是我官方文档看的还不够细,还是跟小程序完整渲染有关的文章得去某个专业的地方去找,如果有哪位大佬能提供链接资料的话,不胜感激!

求官方大佬进 研究了很久 如果能告知答案万分感谢!!!

我们根据官方文档一步一步来看,这个过程是:

1、下载整个代码包

2、通过app.json获取所有页面路径

3、根据首页路径装载首页代码

4、调用app.js中的onLaunch

关于页面的渲染过程如下:

1、根据json生成一个界面

2、装载wxml和wxss样式

3、装载js

4、调用页面构造器Page生成页面

5、框架把data和wxml一起渲染出最终的结构

6、执行onload回调

我们一起整理下这个过程:

小程序加载过程

  • 1、下载整个代码包

  • 2、通过app.json获取所有页面路径

  • 3、根据首页路径装载首页代码

  • 4、调用app.js中的onLaunch

关于页面的渲染过程如下

  • 1、根据json生成一个界面

  • 2、装载wxml和wxss样式

  • 3、装载js

  • 4、调用页面构造器Page生成页面

  • 5、框架把data和wxml一起渲染出最终的结构

  • 6、执行onload回调

关于这个过程有很多疑问,希望有懂的大佬可以解答 拜谢!

关于小程序加载过程

1、下载整个代码包:

  • 整个代码包是所有文件包含图片甚至.git、.gitignore在内的完整包下载吗?

  • 这个过程是否只和代码包有多大有关,完全不受分包的影响?

  • 我该如何能够统计小程序的下载时长?

2、通过app.json获取所有页面路径

  • 是否在这一步开始分包才开始起作用?

  • 关于分包预加载的配置到底应该是怎样的?按照官方文档去写各种报错,以下是能复现的代码片段:https://developers.weixin.qq.com/s/Plj3jVmT7T8n

  • 所有分包都分包预先加载和不分包是否一样?也就是说分包预加载究竟是和主包一起下载,还是另启动线程在主包程序运行时加载?

  • 独立分包是否在这个阶段只加载该独立分包?

3、根据首页路径装载首页代码

  • 那如果二维码路径或者投放路径根本就不是首页呢?依然是先加载首页代码吗?还是根据请求路径优先加载请求路径

4、调用app.js中的onLaunch

  • 调用onLaunch的时机是否为下载完整代码包且首页路径已装载后立即调用 是的话 此刻的时间到页面onload的时间是否为页面渲染时长?

回到顶部