React SSR实例分析

2023-05-24,

这篇文章主要介绍“React SSR实例分析”,在日常操作中,相信很多人在React SSR实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”React SSR实例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

SSR与CSR

取决于DOM结构是从服务端生成还是客户端生成,简单测试可以通过查看源代码能不能看到DOM结构,或者通过禁用JavaScript后能不能正常看到页面

SSR的优势

减少首页渲染白屏时间

SEO友好

开发配置

迭代1

新建工程,初始化

 mkdir react-ssr && cd react-ssr

 npm init -y

 npm install @babel/cli @babel/core @babel/preset-env babel-loader express react react-dom webpack webapck-cli webpack-noe-externals

新建目录src/server,新建文件index.js

 const express = require('express')

 const app = express()

 app.get('/', function(req, res) {

     res.send(

 &mdash;&mdash;<html>

     <head>

         <title>React SSR</title>

     </head>

     <body>

         <h2>Hello React SSR</h2>

     </body>

 </html>&mdash;&mdash;

 )

 })

 const server = app.listen(3000)

新建。babelrc

 {

     "presets": ["@babel/preset-env", "@babel/preset-react"]

 }

新建webpack.server.js

 const path = require('path')

 const nodeExternals = require('webpack-node-externals')

 module.exports = {

     mode: 'development',

     target: 'node', // 必须指定

     entry: './src/server/index.js',

     output: {

         filename: 'bundle.js',

         path: path.resolve(__dirname, 'dist')

     },

     externals: [nodeExternals()],

     /*

     没有这个插件就会报

     WARNING in ./node_modules/express/lib/view.js 81:13-25

     Critical dependency: the request of a dependency is an expression

     @ ./node_modules/express/lib/application.js 22:11-28

     @ ./node_modules/express/lib/express.js 18:12-36

     @ ./node_modules/express/index.js 11:0-41

     @ ./src/server/index.js 1:14-32

     */

     module: {

         rules: [{

             test: /\.js?$/,

             loader: 'babel-loader',

             exclude: /node_modules/,

         }]

     }

 }

修改package.json 加上命令

 "scripts": {

     "start": "node ./dist/bundle.js",

     "build": "webpack --config webpack.server.js"

 }

此时执行npm build能看到打包出来的结果文件,执行npm start能启动一个服务器,打开http://localhost:3000能看到网页结果

到此,关于“React SSR实例分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注本站网站,小编会继续努力为大家带来更多实用的文章!

《React SSR实例分析.doc》

下载本文的Word格式文档,以方便收藏与打印。