Универсальная Реакция без Javascript
Каковы оптимальные методы вызова различных CSS, когда клиент для моей универсальной страницы React, отображаемой на сервере, отключил Javascript?
Я пытался включить Modernizr с className="no-js" в тег HTML, но он не редактировался.
Мне удалось заставить что-то работать, как показано ниже, но должен быть лучший способ.
<link rel="stylesheet" href="/public/css/script.css" />
<noscript>
<link rel="stylesheet" href="/public/css/noscript.css" />
</noscript>
Я искал примеры, но не нашел ничего актуального.
1 ответ
В приложении, отображаемом на сервере, вы можете иметь один из многих источников данных:
- параметр запроса
- печенье
- Данные POST
Единственным вводом для кода на стороне сервера является запрос, сделанный при загрузке страницы в вашем приложении в браузере. Вы можете настроить сервер во время его загрузки (например, когда вы работаете в среде разработки или рабочей среды), но эта конфигурация статична.
Запрос содержит информацию о запрошенном URL-адресе, включая любые параметры запроса, которые будут полезны при использовании чего-то вроде React Router. Он также может содержать заголовки с входными данными, такими как файлы cookie или авторизация, или данные тела POST.
В отображении сценария /noscript вы можете установить одно из нескольких значений по умолчанию:
- Визуализируйте noscript как значение по умолчанию, затем переопределите его, введя CSS для скрипта через CSSOM
- Использовать маршрут, определенный по noscript, по умолчанию, а затем перейти к маршруту сценария на основе файла cookie.
- Создайте форму, которая отправляет возможности сценариев на сервер, а затем используйте ее как страницу перехода, чтобы избежать разметки / сценария в разметке
Рекомендации