最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Node搭建reactSSR服務(wù)端渲染架構(gòu)

 更新時(shí)間:2018年08月30日 08:38:36   作者:leung_blog  
這篇文章主要介紹了使用Node搭建reactSSR服務(wù)端渲染架構(gòu),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

如題;本文所講架構(gòu)主要用到技術(shù)棧有: Node, Express, React, Mobx, webpack4, ES6, ES7, axios, ejs,  log4js, scss,echarts,ant desige

SSR的概念

Server Slide Rendering,縮寫為 ssr,即服務(wù)器端渲染,因?yàn)槭呛蠖顺錾?,所以其?shí)早就明白是怎么回事,只是沒這個(gè)具體名詞的概念罷了,這個(gè)詞被頻繁提起也是拜近年來(lái)前端飛速發(fā)展所賜,主要針對(duì) SPA應(yīng)用,目的大概有以下幾個(gè):

解決單頁(yè)面應(yīng)用的 SEO

單頁(yè)應(yīng)用頁(yè)面大部分主要的 HTML并不是服務(wù)器返回,服務(wù)器只是返回一大串的 腳本,頁(yè)面上看到的大部分內(nèi)容都是由腳本生成,對(duì)于一般網(wǎng)站影響不大,但是對(duì)于一些依賴搜索引擎帶來(lái)流量的網(wǎng)站來(lái)說(shuō)則是致命的,搜索引擎無(wú)法抓取頁(yè)面相關(guān)內(nèi)容,也就是用戶搜不到此網(wǎng)站的相關(guān)信息,自然也就無(wú)流量可言。

解決渲染白屏

因?yàn)轫?yè)面 HTML由服務(wù)器端返回的腳本生成,一般來(lái)說(shuō)這種腳本的體積都不會(huì)太小,客戶端下載需要時(shí)間,瀏覽器解析以生成頁(yè)面元素也需要時(shí)間,這必然會(huì)導(dǎo)致頁(yè)面的顯示速度比傳統(tǒng)服務(wù)器端渲染得要慢,很容易出現(xiàn)首頁(yè)白屏的情況,甚至如果瀏覽器禁用了 JS,那么將直接導(dǎo)致頁(yè)面連基本的元素都看不到。使用Express初始化Node服務(wù)

開始本項(xiàng)目首先你的電腦要安裝有node,npm這個(gè)沒什么好說(shuō)的。其次本次Node服務(wù)用的框架是express;所以要安裝: express-generator

然后使用express your-project初始化你的express項(xiàng)目

npm install express-generator -g
//執(zhí)行這條命令全局安裝express-generator,如果你不想全局安裝把-g去掉即可

初始化express項(xiàng)目之后我們開始把react,webpack整合到這個(gè)node服務(wù)上。

初始化React項(xiàng)目并整合webpack

這里整合webpack使用的是webpack4的版本,如果你熟悉vue-cli(vue-cli3之前的版本)的話你應(yīng)該會(huì)知道webpack配置有多少個(gè)文件,這里參考了vue-cli生成的webpack配置。

添加src文件夾

src文件夾下的內(nèi)容都是整個(gè)react的一些核心配置,如請(qǐng)求處理,css樣式,公共組件,路由,頁(yè)面,stores全局狀態(tài)數(shù)據(jù)。

配置.babelrc

因?yàn)橛玫紼S6,ES7語(yǔ)法所以要配置.babelrc文件。這個(gè)文件東西不多下面直接貼出代碼

{
 "presets": [["es2015", { "modules": false }], "react", "stage-0"],
 "plugins": [
 "transform-decorators-legacy",
 ["import", { "libraryName": "antd", "style": "css" }],
 "transform-runtime"
 ]
}

修改Node服務(wù)app.js

其實(shí)主要是加上這句:app.use('/', reactSSR); 其就是為了項(xiàng)目啟動(dòng)的時(shí)候開啟熱更新并渲染views中reactSSR.ejs這個(gè)模板引擎文件從而達(dá)到服務(wù)端渲染的目的。

項(xiàng)目結(jié)構(gòu)

這里把項(xiàng)目主要的文件夾結(jié)構(gòu)放到最后。

項(xiàng)目GitHub地址: https://github.com/Uwah/node-react

后期部署上服務(wù)器之后會(huì)找個(gè)時(shí)間更新博客,主要是用到pm2

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • React?Native?Modal?的封裝與使用實(shí)例詳解

    React?Native?Modal?的封裝與使用實(shí)例詳解

    這篇文章主要介紹了React?Native?Modal?的封裝與使用,本文通過(guò)實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • React避免不必要的重新渲染的方法示例

    React避免不必要的重新渲染的方法示例

    構(gòu)建高性能?React?應(yīng)用程序的關(guān)鍵之一是避免不必要的重新渲染,React?的渲染引擎是高效的,但防止在不需要的地方重新渲染仍然至關(guān)重要,在這篇文章中,我們將介紹常見錯(cuò)誤以及如何避免它們,需要的朋友可以參考下
    2024-10-10
  • React中DOM事件和狀態(tài)介紹

    React中DOM事件和狀態(tài)介紹

    這篇文章主要介紹了React中DOM事件和狀態(tài)介紹,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-08-08
  • React組件對(duì)子組件children進(jìn)行加強(qiáng)的方法

    React組件對(duì)子組件children進(jìn)行加強(qiáng)的方法

    這篇文章主要給大家介紹了關(guān)于React組件中對(duì)子組件children進(jìn)行加強(qiáng)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用React具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • React props和state屬性的具體使用方法

    React props和state屬性的具體使用方法

    本篇文章主要介紹了React props和state屬性的具體使用方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 在react中使用vue的狀態(tài)管理的方法示例

    在react中使用vue的狀態(tài)管理的方法示例

    這篇文章主要介紹了在react中使用vue的狀態(tài)管理的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • React?Redux管理庫(kù)示例詳解

    React?Redux管理庫(kù)示例詳解

    這篇文章主要介紹了如何在React中直接使用Redux,目前redux在react中使用是最多的,所以我們需要將之前編寫的redux代碼,融入到react當(dāng)中去,本文給大家詳細(xì)講解,需要的朋友可以參考下
    2022-12-12
  • react.js框架Redux基礎(chǔ)案例詳解

    react.js框架Redux基礎(chǔ)案例詳解

    這篇文章主要介紹了react.js框架Redux基礎(chǔ)案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • React實(shí)現(xiàn)阿里云OSS上傳文件的示例

    React實(shí)現(xiàn)阿里云OSS上傳文件的示例

    這篇文章主要介紹了React實(shí)現(xiàn)阿里云OSS上傳文件的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • React中的生命周期用法詳解

    React中的生命周期用法詳解

    這篇文章主要介紹了React中的生命周期用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03

最新評(píng)論

镇沅| 顺平县| 厦门市| 英山县| 龙海市| 师宗县| 敖汉旗| 南岸区| 鹰潭市| 东阿县| 绥中县| 屏山县| 鄄城县| 敦煌市| 泰宁县| 许昌市| 大港区| 仲巴县| 锡林浩特市| 巴林左旗| 临夏市| 马鞍山市| 肃宁县| 西盟| 宁武县| 兴安县| 鄂伦春自治旗| 葵青区| 虹口区| 武汉市| 英德市| 元朗区| 安远县| 平遥县| 都兰县| 沁源县| 石首市| 称多县| 桐城市| 曲靖市| 伊春市|