React 伺服器渲染原理解析與實踐

来源:https://www.cnblogs.com/ldh1024/archive/2018/11/06/9915974.html
-Advertisement-
Play Games

第1章 伺服器端渲染基礎本章主要講解客戶端與伺服器端渲染的概念,分析客戶端渲染和伺服器端渲染的利弊,帶大家對伺服器端渲染有一個粗淺認識。1-1 課程導學1-2 什麼是伺服器端渲染1-3 什麼是客戶端渲染1-4 React 客戶端渲染的優勢與弊端第2章 React中的伺服器端渲染本章將藉助Node.j ...


第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問題的新思路

 

下載地址:百度網盤

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一,效果圖。 二,代碼。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>html 腳本</title> </head> <body> <!--插入一段腳本--> <script> document.write("hello w ...
  • Array類型也是ECMASCRIPT中最常見的數據類型,而且數據的每一項可以保存任何類型的數值,而且數組的大小是可以動態調整的,可以隨著數據的添加自動增長以容納新的數據。下麵,總結數據的一些常用方法: 1.創建數組 1.1.使用Array構造函數 1.2.數組字面量創建 2.讀取和設置數組的值 i ...
  • 首先下載安裝git:https://git-scm.com/downloads/ 一路預設,安裝完成後,打開文件夾C:\Users\Administrator\.ssh(Administrator是當前用戶名),在空白處點滑鼠右鍵選擇“Git Bush Here” ,打開gitbush。 配置用戶名 ...
  • 本人對該知識點瞭解不深,本文采用Victor,再進一步!的文章,如果有人看到本頁,請直接進入https://www.cnblogs.com/victor5230/p/5846832.html,瀏覽原文。 對於IE8及以上版本,例如: 1: <meta http-equiv="X-UA-Compati ...
  • 主要用到動畫效果中的三個操作 ("#id").slideDown(3000); // 後面的數字表示效果的時長 ("#id").stop(); ("#id").slideUp(3000); 代碼如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 < ...
  • 配置less 安裝less-loader 打開 webpack.config.dev.js 和 webpack.config.prod.js 找到 test: /\.css$/, 修改為 test: /\.(css|less)$/, 找到 text 欄位下的 use ,給use數組在添加一個對象 { ...
  • 1.XMLHttpRequest對象 創建XHR對象:let xhr = new XMLHttpRequest(); open():啟動一個請求準備發送 open()接收3個參數:請求類型('GET'、'POST')、請求的URL、是否非同步發送請求(true or false)。 send():發送 ...
  • 今天發現了一種ajax上傳圖片的方式,是以前沒有用過的,首先來說下為什麼要用這種方式。是因為原來後臺是用的form表單的方式來提交表單數據的。但是覺得呢,這種方式不太好,因為要刷新頁面,前臺只用控制台看不到傳輸的參數(如果哪位大神知道怎麼看到,請不吝賜教),所以我們就改成了ajax的方式,結果後臺老 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...