JTangming / blog

My repository on GitHub.
Other
53 stars 0 forks source link

Angular Universal相关整理 #9

Open JTangming opened 6 years ago

JTangming commented 6 years ago

服务器端渲染流程

预渲染流程:

使用构建工具生成静态 HTML ; 将生成的 HTML 部署到 CDN 服务器; CDN 提供服务器视图; 服务器视图到客户端视图转换(见下文)

服务器重绘流程:

HTTP GET 请求发送到服务器; 服务器生成一个包含渲染的 HTML 和内联 JavaScript 的以便“Preboot”的页面(可以选择添加序列化数据进行缓存); 服务器视图到客户端视图转换(见下文)

服务器视图到客户端视图转换流程:

浏览器从服务器接收初始化 payload; 用户看到服务器视图; Preboot 创建隐藏的 div 以用于客户端初始化并开始记录事件; 浏览器对其他资源进行异步请求(如 image,css 等); 一旦加载完外部资源,Angular 客户端初始化开始; 客户端视图呈现给由 Preboot 创建的隐藏 div; 初始化完成后,Angular 客户端调用 preboot.done(); 为了调整应用程序状态以反映用户在 Angular 初始化完成之前所做的更改(如 click 事件等),Preboot 事件将被重播; Preboot 切换隐藏的客户端视图 div 为可见的服务器视图 div; 最后,Preboot 在可见的客户端视图上执行一些清理,包括设置焦点

Angular Universal相关整理