【问题标题】:Properly set up React SSR with Parcel and Express使用 Parcel 和 Express 正确设置 React SSR
【发布时间】:2019-06-13 17:37:57
【问题描述】:

我已经阅读了很多教程并查看了一些存储库,但仍然没有得到我想要的。

例如,this repo 使用 Cheerio(类似服务器的 jQuery)和 React Helmet。

但我想只使用 Parcel、React、ReactDOM、React Router DOM 和 Express 设置我的应用程序。

我试图在服务器上渲染组件,但这不是我想要的。我想使用hydrate 函数,但不知道如何让它在服务器上呈现。 server.js 看起来像这样,但这里只渲染了一个组件,没有其他任何东西:

import express from 'express'
import React from 'react'
import { renderToString } from 'react-dom/server'
import App from '../app/index'

const app = express()

app.get('/', (req, res) => {
    res.send(renderToString(<App/>))
})

我从教程中获取了这个,但它只渲染 App,但我需要渲染很多组件!换句话说,我只需要使用 Parcel 设置 React SSR。

用于构建应用程序的 NPM 脚本:

   "build-client": "parcel app/index.html -d dist/client --port 3000",
   "build-server": "parcel server/index.js -d dist/server --target node",
   "run-server": "nodemon dist/server/index.js",
   "server": "run-s build-server run-server"

很高兴看到关于如何设置 React SSR 的完整存储库,除了 Express 和 Parcel 之外没有任何其他库,但如果有任何用于 express 的 React SSR 中间件插件,如果有人在这里分享它会很酷。

【问题讨论】:

    标签: javascript reactjs server-side-rendering parceljs


    【解决方案1】:

    我建议查看Next.js。它是一个构建在 React 和 Express 之上的生产就绪框架。它以零配置开箱即用地解决了 SSR

    【讨论】:

      猜你喜欢
      • 2020-05-31
      • 2021-01-26
      • 2021-04-28
      • 1970-01-01
      • 2016-07-07
      • 1970-01-01
      • 2020-11-17
      • 2021-10-08
      • 2018-01-01
      相关资源
      最近更新 更多