【发布时间】: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