Правильно настроить React SSR с помощью Parcel и Express - PullRequest
0 голосов
/ 19 января 2019

Я прочитал множество учебных пособий, посмотрел некоторые репозитории и до сих пор не получил того, что хотел.

Например, в этом репо используется 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/>))
})

Я взял это из уроков, но он отображает только приложение, но мне нужно много компонентов, которые будут отображаться!Другими словами, мне просто нужно настроить React SSR с помощью Parcel.

Мои сценарии 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"

Будем рады увидеть полное репо о том, как настроить ReactSSR без каких-либо дополнительных библиотек, кроме Express и Parcel, но если есть какой-либо плагин промежуточного программного обеспечения React SSR для Express, было бы здорово, если бы кто-то поделился им здесь.

...