react服務端渲染(同構)

2022-09-06 02:24:10 字數 1844 閱讀 7666

學習react也有一段時間了,使用react後首頁渲染的速度與seo一直不理想。打算研究一下react神奇服務端渲染。

react服務端渲染只能使用nodejs做服務端語言實現前後端同構,在後台對react元件進行解析並生成html字串後返回檢視頁面。

後台為什麼可以解析react元件?因為node

.js是乙個j**ascript執行環境,nodejs與j**ascript語法基本是相同的,所以nodejs可以正常解析react元件。

一、準備動作

1、安裝nodejs與安裝express

安裝nodejs教程:

安裝express教程:

2、安裝node-jsx(使nodejs支援jsx語法)

$ npm install node-jsx

3、安裝ejs模板引擎

$ npm install ejs

1

var ejs = require('ejs');

二、具體實現如下:

express路由:

1 "use strict";

2var express = require('express');

3var router =express.router(); require("node-jsx").install(); //

安裝"node-jsx",安裝該模組可以使nodejs相容jsx語法

6var react=require("react");

7var com=require('../component/test.js').component //

引入react元件

8 router.get('/', function

(req, res, next) )) //

向元件傳參,並使用rendertostring方法解析成html字串

10 res.render("index",); //

渲染到介面

11});

12 module.exports = router;

react元件:

1 "use strict";

2var react=require("react");

3var component=react.component;

4class test extends component8}

9 module.exports=};

檢視(使用了ejs模板引擎):

1

<

html

>

2<

head

>

3<

title

>dudeyouth部落格

title

>

4<

meta

charset

="utf-8"

/>

5<

link

href

="css/index.css"

rel="stylesheet"

/>

6<

link

href

="css/style.css"

rel="stylesheet"

/>

7head

>

8<

body

>

9<

div

id="container"

>

<%

-component

%>

div>

10body

>

11html

>

react服務端渲染next

mkdir nextdemo cd nextdemo npm init y 配置package.json scripts 啟動命令 npm run dev 或者yarn dev 啟動命令 yarn dev 或者npm run dev next缺省會自動給我們生成好路由,路由生成規則是在專案的根目錄下...

react服務端渲染框架

客戶端渲染 載入乙個空的html頁面,然後請求乙個打包的js檔案,然後再客戶端執行這個js檔案 動態生成html內容然後插入到dom元素上,在源 查詢中也只能看到空的html文件 沒有任何其他內容 服務端渲染 載入出來的就帶有完整的html文件內容 同時帶有資料 流程 瀏覽器傳送請求 伺服器端執行r...

React 服務端渲染的流程簡述

做 react ssr 有一段時間了,在正好在這裡分享一下.使用者第一次請求 重新整理頁面時,由服務端響應.伺服器響應的是乙個已經插入了元件文字的模板 template with pre populated component 由於響應的頁面已經有元件的 html 文字,可以省去瀏覽器端首次渲染的工...