Трафаретная разработка - PullRequest
1 голос
/ 10 октября 2019

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

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

Пример кода

Результаты построения трафарета - enter image description here

Построение трафарета -dev enter image description here

1 Ответ

1 голос
/ 17 октября 2019

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

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

...