Nodejs与ReactJS的服务器端渲染靠谱吗?性能能比得过客户端渲染?

发布于 1周前 作者 sinazl 来自 nodejs/Nestjs

Nodejs与ReactJS的服务器端渲染靠谱吗?性能能比得过客户端渲染?
写了 2 年 angular 最近开始写 react 被 server side rendering 惊呆了, 并发多少能承受? 还有如果 db 和 react server 在一个服务器还说得过去, 如果 db 服务器是独立的话 db 和 react server 通讯 渲染完后给 client 又要通讯, 感觉不如 angular 全客户端渲染速度快啊。 请指点

9 回复

那你为啥不用客户端渲染呢


服务端渲染不就是为了 SEO 和用户体验么。

我的在服务端渲染只是给搜索引擎准备的

服务端渲染是提升第一次访问时的速度,后面都放到客户端渲染的

Angular.js 2 也提供了服务端渲染,要解决的问题不是性能,而是首屏加载时间, SEO 之类的。

性能就别期望太高, react 服务器端渲染速度不如 php ,跟 golang 这些更比不了。主要还是为了 seo 和提高 spa 的首页打开速度。

直接把模版缓存了呗,然后填充模型部分,和其它语言一样

Node.js与ReactJS结合使用的服务器端渲染(SSR)是靠谱的,并且在某些方面性能优于客户端渲染(CSR)。

服务器端渲染在服务器端生成完整的HTML页面内容,然后将其发送到客户端进行展示。这种方式有以下优势:

  1. SEO优化:搜索引擎爬虫更容易理解和索引服务器端渲染的页面内容,因为页面内容在服务端已经生成,更加完整和可读。
  2. 首屏加载性能:服务器端渲染可以提供更快的首屏加载速度,因为页面内容在服务端已经生成并发送给客户端,减少了客户端渲染的时间。

以下是一个简单的Node.js和React结合实现服务器端渲染的示例代码:

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

const app = express();

app.get('/', (req, res) => {
  const html = ReactDOMServer.renderToString(<App />);
  res.send(`
    <!DOCTYPE html>
    <html>
      <head><title>服务端渲染</title></head>
      <body>
        <div id="app">${html}</div>
        <script src="/client-bundle.js"></script>
      </body>
    </html>
  `);
});

app.listen(3000, () => {
  console.log('服务器已启动,监听端口3000');
});

综上所述,Node.js与ReactJS的服务器端渲染在特定场景下性能优于客户端渲染,特别是在SEO优化和首屏加载速度方面。

回到顶部