第1章 服务器端渲染基础
本章主要讲解客户端与服务器端渲染的概念,分析客户端渲染和服务器端渲染的利弊,带大家对服务器端渲染有一个粗浅认识。

1-1 课程导学
1-2 什么是服务器端渲染
1-3 什么是客户端渲染
1-4 React 客户端渲染的优势与弊端

第2章 React中的服务器端渲染
本章将借助Node.js,Webpack等工具的帮助,带大家实现一个非常基础的基于React.js技术栈的服务器端渲染模型,过程中还会讲解虚拟DOM与服务器端渲染的内在联系。

2-1 在服务器端编写 React 组件
2-2 服务器端 Webpack 的配置
2-3 实现服务器端组件渲染
2-4 建立在虚拟DOM上的服务器端渲染
2-5 Webpack 的自动打包与服务器自动重启
2-6 使用 npm-run-all 提升开发效率

第3章 同构的概念的梳理
服务器端渲染与同构的概念实际上并不完全一致,React中的SSR实际上指的是同构技术,那么什么是同构技术,它和服务器端渲染的关系是什么,React中如何实现同构呢?这一章节将给大家详细讲解。

3-1 什么是同构
3-2 在浏览器上执行一段 JS 代码
3-3 让 React 代码在浏览器上运行
3-4 工程代码优化整理
3-5 阶段总结

第4章 在SSR框架中引入路由机制
本章将给大家讲解如何在当前的SSR框架中引入React-Router,从而使得我们的服务器端渲染框架能够支持路由跳转,SSR的路由跳转比前端路由或后端路由都要复杂一些,这张我们将细致的讲解整个SSR路由的执行流程。

4-1 服务器端渲染中的路由
4-2 多页面路由跳转
4-3 使用Link标签串联起整个路由流程

第5章 SSR框架与Redux的结合
本章将讲解如何将Redux数据管理框架与SSR框架做结合,使SSR框架能够支撑复杂业务的开发。在这一章节中,我们将详细讲解服务器端异步数据获取的流程和方法,同时也给大家讲解清楚什么是同构中的数据脱水与注水。

5-1 我们常常听说的中间层是什么?
5-2 同构项目中引入 Redux
5-3 创建 Store 代码的复用
5-4 构建 Redux 代码结构 ( 1 )
5-5 构建Redux代码结构(2)
5-6 如何获取最新的secret值
5-7 流程回顾及问题分析
5-8 异步数据服务器渲染: loadData方法及路由重构
5-9 Favicon 及多级路由问题的处理
5-10 服务器端渲染获取数据
5-11 数据的脱水和注水

第6章 使用Node作为数据获取中间层
本章将讲解真正服务器端渲染中的代码架构体系,Node.js如何在这个体系中充当中间层的作用,这里面我们将详细讲解数据代理转发,cookie登陆状态传递,axios实例等概念。

6-1 使用proxy代理,让中间层承担数据获取职责
6-2 服务器端请求和客户端请求的不同处理
6-3 axios中instance的使用
6-4 redux-thunk中的withExtraArgument
6-5 renderRoutes 方法实现对多级路由的支持
6-6 登陆功能的制作
6-7 登陆接口打通
6-8 登陆状态切换
6-9 解决登陆 cookie 传递问题
6-10 翻译列表页面制作

第7章 细节问题处理
本章将讲解在SSR框架中,如何处理301重定向,404页面不存在的情况,以及面对异步数据获取失败的情况,应该如何借助Promise解决问题。

7-1 secret统一管理
7-2 借助 context 实现404页面功能
7-3 实现服务器端301重定向
7-4 数据请求失败情况下 promise 的处理

第8章 处理SSR框架中的CSS样式
本章将讲解在SSR框架中,组件和页面中CSS样式的处理方案,在这章中,我们还会应用高阶组件等设计技巧,提高代码复用性。

8-1 如何支持 CSS 样式修饰
8-2 如何实现CSS样式的服务器端渲染
8-3 多组件中的样式如何整合
8-4 LoadData 方法潜在问题的修正
8-5 使用高阶组件精简代码
8-6 列表样式优化

第9章 SEO技巧的融入
本章将讲解SEO中的一些基本技巧,以及如何通过React-helmet等技术,提升当前SSR框架的SEO效果,最后,还会给大家讲解SSR外的另一种解决SEO问题的思路:预渲染。

9-1 什么是SEO, 为什么服务器端渲染对SEO更加友好 ?
9-2 Title 和 Description的真正作用
9-3 如何做好 SEO
9-4 React-Helmet 的使用
9-5 课程总结
9-6 使用预渲染解决SEO问题的新思路

下载地址:百度网盘

React 服务器渲染原理解析与实践的更多相关文章

  1. React服务器渲染最佳实践

    源码地址:https://github.com/skyFi/dva-starter React服务器渲染最佳实践 dva-starter 完美使用 dva react react-router,最好用 ...

  2. Tengine HTTPS原理解析、实践与调试【转】

    本文邀请阿里云CDN HTTPS技术专家金九,分享Tengine的一些HTTPS实践经验.内容主要有四个方面:HTTPS趋势.HTTPS基础.HTTPS实践.HTTPS调试. 一.HTTPS趋势 这一 ...

  3. React Native运行原理解析

    Facebook 于2015年9月15日推出react native for Android 版本, 加上2014年底已经开源的IOS版本,至此RN (react-native)真正成为跨平台的客户端 ...

  4. 【大量干货】史上最完整的Tengine HTTPS原理解析、实践与调试

    本文邀请阿里云CDN HTTPS技术专家金九,分享Tengine的一些HTTPS实践经验.内容主要有四个方面:HTTPS趋势.HTTPS基础.HTTPS实践.HTTPS调试. 一.HTTPS趋势 这一 ...

  5. Vue视图渲染原理解析,从构建VNode到生成真实节点树

    前言 在 Vue 核心中除了响应式原理外,视图渲染也是重中之重.我们都知道每次更新数据,都会走视图渲染的逻辑,而这当中牵扯的逻辑也是十分繁琐. 本文主要解析的是初始化视图渲染流程,你将会了解到从挂载组 ...

  6. react渲染原理深度解析

    https://mp.weixin.qq.com/s/aM-SkTsQrgruuf5wy3xVmQ   原文件地址 [第1392期]React从渲染原理到性能优化(二)-- 更新渲染 黄琼 前端早读课 ...

  7. React Router 按需加载+服务器渲染的闪屏问题

    伴随着React协议的『妥协』(v16采用MIT),React为项目的主体,这个在短期内是不会改变的了,在平时使用过程中发现了如下这个问题: 在服务器渲染的时候,刷新页面会出现闪屏的现象(白屏一闪而过 ...

  8. 单页面(如react,vue)网站的服务器渲染 SSR 之 SEO 大杀器 Rendertron

    单页面网站,比如vue.recat框架的网站,一般都是直接从服务器推送index.html,再根据自身路由通过js在客户端浏览器渲染出完整的html页面. 但是搜索引擎的爬虫可没有这么智能(实际上go ...

  9. 【React】393 深入了解React 渲染原理及性能优化

    如今的前端,框架横行,出去面试问到框架是常有的事. 我比较常用React, 这里就写了一篇 React 基础原理的内容, 面试基本上也就问这些, 分享给大家. React 是什么 React是一个专注 ...

随机推荐

  1. JS执行环境栈及事件循环机制—简洁明了的讲解

    JavaScript解释器在浏览器中是单线程的,这意味着浏览器在同一时间内只执行一个事件,对于其他的事件我们把它们排队在一个称为 执行栈(调用栈) 的地方.下表是一个单线程栈的抽象视图: 我们已经知道 ...

  2. 在GNU Linux中怎样得到一个进程当前的流量

    /*********************************************************************  * Author  : Samson  * Date   ...

  3. 如何删除 mac 系统信息下的安装记录

    方法:在finder中:Command+Shift+G 打开 /Library/Receipts/InstallHistory.plist 所有的记录都在 InstallHistory.plist 文 ...

  4. 微信JS-SDK怎样使用

    前两天要用到微信JS库的的一句话--wx.closeWindow();可是整个调用过程有点儿泪奔了.. .. 尽管开发人员平台上说的清清楚楚,可是使用起来就是not ok! 一,绑定域名 登录到微信公 ...

  5. 主表a主表b 从表c中有ab两个表中各一个字段a1,b1 从表d中有ab两个表中各一个字段a2,b2

    a1和a2在a表中具有唯一性 b1和b2在b表中具有唯一性 现在需要连接c表和d表 需要分两步来做 1.先让c表join表a和表b select c.*,a.a2,b.b2 from c inner ...

  6. imagebutton 设置点击和按压效果

    实现 点击 时 有按压效果 更换颜色 <ImageButton android:id="@+id/mediacontroller_Fullscreen_or_not" and ...

  7. POJ2492 A Bug's Life 判断二分图

    给一个无向图,判断是否为二分图 是否有奇环.用染色法解决,也可以用并查集解决,时间复杂度是相同的,但是并查集用的内存少. 这里给出Bfs染色的代码 #include<iostream> # ...

  8. E20170629-hm

    enqueue  [计] 入队,排队; dequeue  [计]  出列; rear  n. 后部,背面,背后; 臀部; (舰队或军队的) 后方,后尾,殿后部队; 〈英口〉厕所; ring buffe ...

  9. 如何看待B站疑似源码泄漏的问题?

    今天突然看到关于B站源码泄漏事.网曝B站整个网站后台工程源码遭泄露,开源项目平台Github上疑似出现了Bilibili网站后台工程,内含部分用户名密码.目前官方还没对此事作出任何回应,所以还无法确定 ...

  10. Jsoup爬虫获取公司纳税识别号

    天眼查 /** * 根据公司名称获取统一社会信用代码 * * @author xiaofei.xian 日期:2019年3月20日 上午11:12:41 */ public class GetTaxN ...