React 服务器渲染原理解析与实践
第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 服务器渲染原理解析与实践的更多相关文章
- React服务器渲染最佳实践
源码地址:https://github.com/skyFi/dva-starter React服务器渲染最佳实践 dva-starter 完美使用 dva react react-router,最好用 ...
- Tengine HTTPS原理解析、实践与调试【转】
本文邀请阿里云CDN HTTPS技术专家金九,分享Tengine的一些HTTPS实践经验.内容主要有四个方面:HTTPS趋势.HTTPS基础.HTTPS实践.HTTPS调试. 一.HTTPS趋势 这一 ...
- React Native运行原理解析
Facebook 于2015年9月15日推出react native for Android 版本, 加上2014年底已经开源的IOS版本,至此RN (react-native)真正成为跨平台的客户端 ...
- 【大量干货】史上最完整的Tengine HTTPS原理解析、实践与调试
本文邀请阿里云CDN HTTPS技术专家金九,分享Tengine的一些HTTPS实践经验.内容主要有四个方面:HTTPS趋势.HTTPS基础.HTTPS实践.HTTPS调试. 一.HTTPS趋势 这一 ...
- Vue视图渲染原理解析,从构建VNode到生成真实节点树
前言 在 Vue 核心中除了响应式原理外,视图渲染也是重中之重.我们都知道每次更新数据,都会走视图渲染的逻辑,而这当中牵扯的逻辑也是十分繁琐. 本文主要解析的是初始化视图渲染流程,你将会了解到从挂载组 ...
- react渲染原理深度解析
https://mp.weixin.qq.com/s/aM-SkTsQrgruuf5wy3xVmQ 原文件地址 [第1392期]React从渲染原理到性能优化(二)-- 更新渲染 黄琼 前端早读课 ...
- React Router 按需加载+服务器渲染的闪屏问题
伴随着React协议的『妥协』(v16采用MIT),React为项目的主体,这个在短期内是不会改变的了,在平时使用过程中发现了如下这个问题: 在服务器渲染的时候,刷新页面会出现闪屏的现象(白屏一闪而过 ...
- 单页面(如react,vue)网站的服务器渲染 SSR 之 SEO 大杀器 Rendertron
单页面网站,比如vue.recat框架的网站,一般都是直接从服务器推送index.html,再根据自身路由通过js在客户端浏览器渲染出完整的html页面. 但是搜索引擎的爬虫可没有这么智能(实际上go ...
- 【React】393 深入了解React 渲染原理及性能优化
如今的前端,框架横行,出去面试问到框架是常有的事. 我比较常用React, 这里就写了一篇 React 基础原理的内容, 面试基本上也就问这些, 分享给大家. React 是什么 React是一个专注 ...
随机推荐
- 解析cocos2d-lua项目中的Hello World
创建完cocos2d-x的lua项目后.打开项目的Resources目录,找到hello.lua.cocos2d-x的lua项目的測试样例主要就是由这个脚本文件运行的. require "A ...
- unity3D游戏开发实战原创视频讲座系列7之消消乐游戏开发
解说文件夹 第一讲 游戏介绍和资源简单介绍 第二讲 游戏场景背景的搭建 第三讲 游戏特效预制体的制作 第四讲 游戏场景前景的显示 第五讲 瓷砖背景块 第六讲 方块的消除 第七讲 方块的交 ...
- SVN合并(merge)的使用
使用svn几年了,一直对分支和合并敬而远之,一来是由于分支的管理不该我担心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响.最基本的原因是,自己对分支的目的和合并 ...
- Linux 下查找文件或文件夹
有些在我看来比较实用的命令,在这里记一下,避免每次都搜索一轮. 1.查找文件和文件夹 $ find . -name "mongo*" 从当前路径开始,向子目录查找名字含有 &quo ...
- Robot Framework 使用技巧 快捷键
ctrl+alt+space 自动带出相关关键字,以及相关用法,里边有对应参数的说明. Ctrl+鼠标悬浮 直接显示关键字的相关用法 F5 关键字说明 (方法名函数名) ...
- ListView总结(多选框ListViiew,动态加载,多线程更新ListView中的进度条)
Why ListView? ListView 如果仅仅出于功能上的需求ListView可能没有存在的必要,ListView能作的事情基本上ScrollView也能胜任.ListView存在的最根本的原 ...
- 移植linux3.7到nuc900系列开发板遇到的问题
通过移植学习linux新版本内核,大概了解一下内核变化. 记录一下移植过程中遇到的问题或值得注意的地方. 1,添加一款arm9芯片的支持 首先修改\arch\arm\tools\mach-types文 ...
- tiny4412 裸机程序 六、重定位代码到IRAM+0x8000【转】
本文转载自:http://blog.csdn.net/eshing/article/details/37115697 一.重定向 对于程序而言,我们需要理解两个概念,一是程序当前所处的地址,即程序在运 ...
- Android之利用EventBus进行消息传递
什么是EventBus EventBus是一个 发布/订阅 模式的消息总线库,它简化了应用程序内各组件间.组件与后台线程间的通信,解耦了事件的发送者和接收者,避免了复杂的.易于出错的依赖及生命周期问题 ...
- Linux学习大纲