react 18 ssr 项目搭建

333 阅读2分钟

React 18 是 React 框架的最新版本,它引入了一些新特性,比如自动批量更新和异步渲染等。SSR(Server-Side Rendering)是指在服务端进行页面渲染,然后再将渲染好的页面发送给客户端,这样可以提高首屏加载速度和 SEO。

下面是一个简单的 React 18 SSR 项目搭建步骤:

  1. 创建项目

使用 create-react-app 工具创建一个新的 React 项目:

npx create-react-app my-app
  1. 安装依赖

进入项目目录,安装以下依赖:

npm install express react react-dom react-scripts
npm install -D nodemon

其中,express 是一个常用的 Node.js 服务器框架,nodemon 是一个工具,可以在代码修改后自动重启服务器。

  1. 编写服务器代码

在项目根目录下创建一个 server.js 文件,编写服务器代码:

const express = require('express');
const React = require('react');
const ReactDOMServer = require('react-dom/server');
const App = require('./src/App');

const server = express();
const port = 3000;

server.use(express.static('build'));

server.get('*', (req, res) => {
  const appString = ReactDOMServer.renderToString(<App />);
  res.send(`
    <html>
      <head>
        <title>React 18 SSR Example</title>
      </head>
      <body>
        <div id="root">${appString}</div>
        <script src="/static/js/main.js"></script>
      </body>
    </html>
  `);
});

server.listen(port, () => {
  console.log(`Server is listening on port ${port}`);
});

这段代码创建了一个 Express 服务器,当有请求时,使用 ReactDOMServer.renderToString 将 React 组件渲染成 HTML 字符串,并返回给客户端。注意,这里我们将渲染后的 HTML 字符串插入到了一个 id 为 "root" 的 div 中,这个 div 将成为 React 的根节点。

  1. 修改 package.json

打开 package.json 文件,将启动命令修改为:

"start": "nodemon server.js"

这样我们就可以使用 nodemon 工具运行服务器,这样每次修改代码后,服务器将自动重启。

  1. 编译 React 代码

在项目根目录下执行以下命令,编译 React 代码:

npm run build

这个命令会将 React 代码打包成静态文件,存放在 build 目录中。

  1. 启动服务器

最后,执行以下命令启动服务器:

npm start

打开浏览器,访问 http://localhost:3000,就可以看到 React 18 SSR 项目的效果了。

以上是一个简单的 React 18 SSR 项目搭建步骤,具体实现方式可能因项目而异,希望对您有所帮助。