Создание CSS для рендеринга на стороне сервера в React - Material-UI

Я пытаюсь создать CSS для рендеринга на стороне сервера в соответствии с Материальный интерфейс - серверный рендеринг

Я использую React on Rails с PHP (Пакет React), есть ли другой способ сгенерировать CSS? В документации мы предоставляем весь контент одним запросом на JS. В моем случае я должен предоставить компонент для ветки, а затем отдельно CSS. Любые другие способы?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
0
338
1

Ответы 1

Я думаю, вы можете передать CSS с шаблоном html клиенту, например, я сделал то же самое в одном из своих проектов.

const cssStyleTage = extractCSSFromMaterialUIServerSideAPI();
const componentStream = someHtmlConten;

const html = `
  <!doctype html>
    <html>
    <head>
      <meta name = "viewport" content = "width=device-width, initial-scale=1.0">
      ${cssStyleTage}
    </head>
    <body>
        <div id = "root">
            ${componentStream}
        </div>
    </body>
    </html>`;

// pass it to client, this you can open in any iframe at client side.
res.status(200).send(html);

// or otherwise just send the css styles separately.
res.status(200).send({
  cssStyleTags: cssStyleTage,
  html: componentStream
});

Я просто даю идею, как это можно сделать, если это может помочь вам в достижении вашей задачи.

Другие вопросы по теме