Проблема со стилем сборки Stencil Dev

Недавно мы обновили трафарет и обнаружили проблемы со стилями в пакете сборки prod (сборка трафарета). Он отлично работает при сборке с параметром --dev (сборка трафарета --dev).

Я провел больше исследований и нашел разницу в тегах стиля. В сборке разработчика я вижу, что тег стиля находится под моим теневым домом, как это было в предыдущей версии шаблона (0.15.x). Но в пакете сборки prod тег стиля отсутствует, но стили применяются. Я понимаю, что трафарет отключает изменение стилей при сборке продукта. Но поведение не следует менять.

Образец кода

результаты построения трафарета -

сборка трафарета --dev

1 ответ

Решение

ИМО, поведение, которое вы видите для --prod верно - --devнеправильно. Стиль, принадлежащий хосту, должен преобладать над любым другим стилем, влияющим на тень, если он не применяется непосредственно к элементам тени (атрибут стиля). Если вы используете:host селектор в качестве корня ваших определений стиля в my-component.scss (что, я думаю, рекомендуется, но документация минимальна), --dev будет вести себя так же, как --prod.

Начиная с версии 0.15.x произошли изменения гидратов, которые могут иметь какое-то отношение к отмеченному вами изменению поведения. Я согласен, что это проблема / ошибка, но я думаю, что проблема в--dev не --prod и связанных с неиспользованием :host селектор в стиле компонента.

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