小编Sap*_*der的帖子

使用 React Router 进行服务器端渲染“浏览器历史需要一个 DOM”

我已经通过互联网扫描了两天,但我无法了解使用 react-routes 实现 SSR 的要点。在没有路线的情况下,我花了 5 天的时间才以某种方式理解这一切。但是现在我无法进一步理解使用react-routes。这是必要的细节-

服务器/server.js

import express from 'express';
import fs from 'fs';
import path from 'path';

import React from 'react';
import ReactDOMServer from 'react-dom/server';
import {StaticRouter} from 'react-router-dom';

import App from '../src/App';

const PORT = process.env.PORT || 8080;

const app = express();

app.use(express.static(path.resolve('./build')))

app.get('*', (req, res) => {

    fs.readFile(path.resolve('./build/index.html'), 'utf-8', (err, data) => {

    if (err) {
      console.log(err);
      return res.status(500).send('Some error happened');
        }

        const context = {};
        const app = ReactDOMServer.renderToString(
            <StaticRouter …
Run Code Online (Sandbox Code Playgroud)

node.js reactjs react-router server-side-rendering create-react-app

2
推荐指数
1
解决办法
814
查看次数