Size: a a a

Веб-компоненты

2019 December 16

PM

Pavel 🦇 Malyshev in Веб-компоненты
Andrey Yamanov
Не вижу причин, почему его не будет.
представим что у тебя кастомный элемент ссылки не с нативным тултипом на title="" а кастомным. Разметка элемента:

<a href="/url">Link</a>
<span>Tooltip</span>


в виде компонента исопльзуется как:

<my-link href="/url" text="Link" title="Tooltip" />
источник

PM

Pavel 🦇 Malyshev in Веб-компоненты
как ты его на сервере отрендеришь?
источник

AY

Andrey Yamanov in Веб-компоненты
Gennadiy Vatitov
Т.е. инпут, который должен быть оформлен по дизайн-системе нужно хранить отдельно от Shadow DOM?
Вроде как всю дизайн систему надо хранить отдельно от Shadow DOM.
источник

PM

Pavel 🦇 Malyshev in Веб-компоненты
фактически с сервера нам должен прийти:

<a href="/url">Link</a>
<span>Tooltip</span>


а потом на клиенте замениться на

<my-link href="/url" text="Link" title="Tooltip" />
источник

AY

Andrey Yamanov in Веб-компоненты
Pavel 🦇 Malyshev
как ты его на сервере отрендеришь?
Ахах, Очень легко. во-первых я не буду делать такую глупость как шаблон с ссылкой. Во-вторых, сделаю appendChild on mount. Я сейчас так и делаю в NUDE, как ты думаешь у меня SSR работает ок?
источник

PM

Pavel 🦇 Malyshev in Веб-компоненты
Andrey Yamanov
Ахах, Очень легко. во-первых я не буду делать такую глупость как шаблон с ссылкой. Во-вторых, сделаю appendChild on mount. Я сейчас так и делаю в NUDE, как ты думаешь у меня SSR работает ок?
почему глупость? вполне нормальный компонент
источник

PM

Pavel 🦇 Malyshev in Веб-компоненты
а причем тут appendChild?
источник

PM

Pavel 🦇 Malyshev in Веб-компоненты
ок, расскажи тогда как бы ты сделал такой компонент?
источник

PM

Pavel 🦇 Malyshev in Веб-компоненты
можно в общих чертах
источник

PM

Pavel 🦇 Malyshev in Веб-компоненты
главное что хочу понять, какой html приходит с сервера
источник

AY

Andrey Yamanov in Веб-компоненты
Pavel 🦇 Malyshev
ок, расскажи тогда как бы ты сделал такой компонент?
Не создавать ссылки вообще, эмулировать. Когда с сервера приходит HTML, просто добавлять туда ссылку, если это требуется. Например так.
источник

PM

Pavel 🦇 Malyshev in Веб-компоненты
Andrey Yamanov
Не создавать ссылки вообще, эмулировать. Когда с сервера приходит HTML, просто добавлять туда ссылку, если это требуется. Например так.
но это уже не SSR
источник

PM

Pavel 🦇 Malyshev in Веб-компоненты
а эмулировать как тогда будет поисковик ходить?
источник

AY

Andrey Yamanov in Веб-компоненты
Pavel 🦇 Malyshev
а эмулировать как тогда будет поисковик ходить?
для поисковика пререндерить всё равно желательно.
источник

PM

Pavel 🦇 Malyshev in Веб-компоненты
Andrey Yamanov
для поисковика пререндерить всё равно желательно.
не согласен. хотя это тоже вариант, но сам по себе ответ выдает костыльность
источник

AY

Andrey Yamanov in Веб-компоненты
Да, но тут же проблема не в Веб Компонентах.
источник

PM

Pavel 🦇 Malyshev in Веб-компоненты
да и вообще зачем нужен SSR если довольная большая часть пользы (SEO) уходит?
источник

AY

Andrey Yamanov in Веб-компоненты
Просто инструментарий веба таков на данный момент, что нельзя эмулировать ссылку - в этом проблема.
источник

AY

Andrey Yamanov in Веб-компоненты
Тут Shadow DOM не виноват вообще.
источник

PM

Pavel 🦇 Malyshev in Веб-компоненты
Andrey Yamanov
Да, но тут же проблема не в Веб Компонентах.
Именнно в них. Со Svelte  таких проблем нет
источник