У меня была похожая проблема с пустыми тегами стиля в производстве.Я использую автономный браузер для рендеринга на стороне сервера, и эта проблема приводила к тому, что отображаемые страницы на стороне сервера появлялись без стилей до загрузки ресурсов JS.
После долгих поисков я наконец-то узналпричина.Библиотека Styled Components использует так называемый «скоростной режим» для внедрения стилей в производство.Это заставляет стили обходить DOM` и вводиться непосредственно в CSSOM, таким образом, появляясь в инспекторе, но полностью невидимый в DOM.
К счастью, Styled Components 4.1.0 были исправлены для этой проблемы!Теперь вы можете установить глобальную переменную с именем SC_DISABLE_SPEEDY
на true
, чтобы отключить Speedy mode
и заставить стили появляться и в Production.Имейте в виду, что вы должны сделать это в самом начале файла ввода вашего приложения, прежде чем импортировать любой стилизованный компонент, иначе он не будет работать.
Я сделал это, создав новый файл с именем globals.js
, содержащий global.SC_DISABLE_SPEEDY = true
, и импортировав его как самое первое в моей index.js
.
Ссылка: https://www.styled -components.com / высвобождает # v4.1.0