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

簡(jiǎn)單的React SSR服務(wù)器渲染實(shí)現(xiàn)

 更新時(shí)間:2018年12月11日 11:28:24   作者:舊丶時(shí)候  
這篇文章主要介紹了簡(jiǎn)單的React SSR服務(wù)器渲染實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

為什么要SSR

單頁(yè)應(yīng)用將UI層和內(nèi)容都由javascript來(lái)渲染,搜索引擎或網(wǎng)頁(yè)爬蟲(chóng)需要完成的HTML結(jié)構(gòu),因此單頁(yè)應(yīng)用如果只在客戶端渲染,不利于SEO,此外盡管我們可以通過(guò)按需加載的形式來(lái)減少首頁(yè)加載的js,但是通過(guò)js來(lái)渲染DOM的時(shí)候還是會(huì)有一定的時(shí)間延遲。

0.前言

服務(wù)端渲染在項(xiàng)目中不是剛需的東西,但有的時(shí)候也是需要做一個(gè)服務(wù)端渲染,項(xiàng)目要做服務(wù)端渲染當(dāng)然是有很多好處的

  • 首屏加載快,相比SPA單頁(yè)應(yīng)用還要有優(yōu)勢(shì)。
  • SEO 優(yōu)化 利于爬蟲(chóng),爬取數(shù)據(jù)。

1. 簡(jiǎn)介

服務(wù)端渲染是指頁(yè)面的渲染和生成是在服務(wù)端完成的,并將渲染好的頁(yè)面返回客戶端。

2. 安裝

安裝的時(shí)候版本都是最新版,而新的版本很多方法和API有棄用和更新的,導(dǎo)致最后項(xiàng)目無(wú)法運(yùn)行。

npm install --save-dev koa
npm install --save-dev babel-core
npm install --save-dev babel-polyfill
npm install --save-dev babel-preset-latest-node
npm install --save-dev babel-preset-stage-2
npm install --save-dev babel-preset-react
# or
yarn add -dev koa
yarn add -dev babel-core
yarn add -dev babel-polyfill
yarn add -dev babel-preset-latest-node
yarn add -dev babel-preset-stage-2
yarn add -dev babel-preset-react

3.配置

安裝完成后寫(xiě)一個(gè)啟動(dòng)文件 start.js:

// start.js
require('babel-core/register')({
  ignore: [/node_modules/],
  presets: [
    'stage-2',
    'react',
    [
      "latest-node",
      { "target": "current" }
    ]
  ]
});

require('babel-polyfill');
require('./../index');

在寫(xiě)一個(gè)入口文件index.js

// index.js
import Koa from 'koa';
import React from 'react';
import ReactDOMServer from 'react-dom/server';

const { renderToString } = ReactDOMServer;

const app = new Koa();

app.use(ctx => {
  ctx.body = renderToString(
    <div>
      <h1>Hello,World</h1>
    </div>
  );
});

app.listen(3000, () => {
  console.log('server run in 3000');
});

執(zhí)行npm start啟動(dòng)項(xiàng)目

"scripts": {
  "start": "node ./src/start.js"
 },

4.結(jié)果

打開(kāi)瀏覽器查看http://localhost:3000/ 

5.結(jié)束語(yǔ)

到這里就完成了一個(gè)簡(jiǎn)單的 React SSR,當(dāng)然實(shí)現(xiàn)React服務(wù)端渲染還可以用別的方式,比如Next.js

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

相關(guān)文章

  • React實(shí)現(xiàn)一個(gè)拖拽排序組件的示例代碼

    React實(shí)現(xiàn)一個(gè)拖拽排序組件的示例代碼

    這篇文章主要給大家介紹了React實(shí)現(xiàn)一個(gè)拖拽排序組件?-?支持多行多列、支持TypeScript、支持Flip動(dòng)畫(huà)、可自定義拖拽區(qū)域,文章通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • 使用react和redux構(gòu)建一個(gè)簡(jiǎn)單的計(jì)數(shù)器

    使用react和redux構(gòu)建一個(gè)簡(jiǎn)單的計(jì)數(shù)器

    這篇文章主要為大家詳細(xì)介紹了如何使用react和redux構(gòu)建一個(gè)簡(jiǎn)單的計(jì)數(shù)器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-01-01
  • React.js綁定this的5種方法(小結(jié))

    React.js綁定this的5種方法(小結(jié))

    this在javascript中已經(jīng)相當(dāng)靈活,這篇文章主要介紹了React.js綁定this的5種方法(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • react中(含hooks)同步獲取state值的方式

    react中(含hooks)同步獲取state值的方式

    這篇文章主要介紹了react(含hooks)中同步獲取state值的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 使用react-activation實(shí)現(xiàn)keepAlive支持返回傳參

    使用react-activation實(shí)現(xiàn)keepAlive支持返回傳參

    本文主要介紹了使用react-activation實(shí)現(xiàn)keepAlive支持返回傳參,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 基于React封裝組件的實(shí)現(xiàn)步驟

    基于React封裝組件的實(shí)現(xiàn)步驟

    很多小伙伴在第一次嘗試封裝組件時(shí)會(huì)和我一樣碰到許多問(wèn)題,本文主要介紹了基于React封裝組件的實(shí)現(xiàn)步驟,感興趣的可以了解一下
    2021-11-11
  • 淺談React 服務(wù)器端渲染的使用

    淺談React 服務(wù)器端渲染的使用

    本篇文章主要介紹了淺談React 服務(wù)器端渲染的使用,React是最受歡迎的客戶端 JavaScript 框架,在本教程中,我們將逐步向您介紹服務(wù)器端的渲染示例
    2018-05-05
  • React列表欄及購(gòu)物車(chē)組件使用詳解

    React列表欄及購(gòu)物車(chē)組件使用詳解

    這篇文章主要為大家詳細(xì)介紹了React列表欄及購(gòu)物車(chē)組件使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • React配置多個(gè)代理實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求返回問(wèn)題

    React配置多個(gè)代理實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求返回問(wèn)題

    這篇文章主要介紹了React之配置多個(gè)代理實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求返回問(wèn)題,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • 關(guān)于antd tree和父子組件之間的傳值問(wèn)題(react 總結(jié))

    關(guān)于antd tree和父子組件之間的傳值問(wèn)題(react 總結(jié))

    這篇文章主要介紹了關(guān)于antd tree 和父子組件之間的傳值問(wèn)題,是小編給大家總結(jié)的一些react知識(shí)點(diǎn),本文通過(guò)一個(gè)項(xiàng)目需求實(shí)例代碼詳解給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-06-06

最新評(píng)論

松阳县| 济阳县| 泰兴市| 民权县| 柘荣县| 丁青县| 张家界市| 阳高县| 巴彦淖尔市| 息烽县| 江安县| 漾濞| 旬阳县| 大足县| 任丘市| 高陵县| 鄂伦春自治旗| 巴东县| 锡林浩特市| 炎陵县| 东海县| 锦屏县| 商城县| 江陵县| 八宿县| 陆丰市| 志丹县| 眉山市| 美姑县| 会东县| 义乌市| 三明市| 贵德县| 张家川| 文水县| 东丽区| 定州市| 西贡区| 湾仔区| 浏阳市| 广南县|