Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Angular Universal相关整理 #9

Open
JTangming opened this issue Aug 20, 2017 · 0 comments
Open

Angular Universal相关整理 #9

JTangming opened this issue Aug 20, 2017 · 0 comments

Comments

@JTangming
Copy link
Owner

JTangming commented Aug 20, 2017

服务器端渲染流程

预渲染流程:

使用构建工具生成静态 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相关整理

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant