Size: a a a

2020 September 29

AP

Alexander Ponomarev in Svelte [svelt]
akaSybe
"Closing as whilst this is desirable, I feel that this doesn't belong in Svelte core"

модератор не понял посыл и закрыл не думая
ты не поверишь, но так закрывают почти все ишаки =) иногда с тонной воды "плохая архитектура"
источник

a

akaSybe in Svelte [svelt]
Alexander Ponomarev
ты не поверишь, но так закрывают почти все ишаки =) иногда с тонной воды "плохая архитектура"
да, и я считаю, это одна из причин, почему свэлт не находит широкое применение так, как мог бы
источник

DK

Dan Kozlov in Svelte [svelt]
Alexander Ponomarev
ну твой поинт тоже понятен, но иногда виджеты делают для своего же сайта например и встраивают без айфрейма. Сайт например легасный, но написан не самыми печальными людьми и селекторы по тегам они не трогали. Но свелт даже в такой ситуации своим скоупингом не помогает.
Но в этом же кейсе, если виджет хоть чуток запитан логикой, у вас не будет доступа к глобальными стилям — той же кнопке, параграфу, модификаторам цветов. Дублировать все стили?
Если не запитан, то и конфликтовать нечему.

С моей точки зрения, проще в новом виджете без дублирования проставить префиксы, чем хз даже как решать проблему забора глобальных стилей на уровне каждого отдельного селектора.

В условном реакт-сообществе так и делают. Там все встраиваемые библиотечные виджеты с юаем просто префиксы добавляют к классам. Nothing fancy.
источник

AP

Alexander Ponomarev in Svelte [svelt]
Dan Kozlov
Но в этом же кейсе, если виджет хоть чуток запитан логикой, у вас не будет доступа к глобальными стилям — той же кнопке, параграфу, модификаторам цветов. Дублировать все стили?
Если не запитан, то и конфликтовать нечему.

С моей точки зрения, проще в новом виджете без дублирования проставить префиксы, чем хз даже как решать проблему забора глобальных стилей на уровне каждого отдельного селектора.

В условном реакт-сообществе так и делают. Там все встраиваемые библиотечные виджеты с юаем просто префиксы добавляют к классам. Nothing fancy.
пожди, проблема конкретно в СПОСОБЕ как свелт скоупит стили. В том что в условных цсс модулях заменяется .class -> .class-112 а у свелта .class -> .class.svelt-1232

и получается что если у тебя уже где-то есть class то ты применишь все стили с него на свелт элемент и частично перебьешь теми которые написал в свлете
источник

a

akaSybe in Svelte [svelt]
Alexander Ponomarev
пожди, проблема конкретно в СПОСОБЕ как свелт скоупит стили. В том что в условных цсс модулях заменяется .class -> .class-112 а у свелта .class -> .class.svelt-1232

и получается что если у тебя уже где-то есть class то ты применишь все стили с него на свелт элемент и частично перебьешь теми которые написал в свлете
+
источник

МТ

Марк Танащук... in Svelte [svelt]
Alexander Ponomarev
пожди, проблема конкретно в СПОСОБЕ как свелт скоупит стили. В том что в условных цсс модулях заменяется .class -> .class-112 а у свелта .class -> .class.svelt-1232

и получается что если у тебя уже где-то есть class то ты применишь все стили с него на свелт элемент и частично перебьешь теми которые написал в свлете
Собственно а как еще оставить и глобалы и скоупинг?
источник

AP

Alexander Ponomarev in Svelte [svelt]
Марк Танащук
Собственно а как еще оставить и глобалы и скоупинг?
открой для себя цсс модули ну пожалуйста, набери в гугл
источник

МТ

Марк Танащук... in Svelte [svelt]
Тогда если вот так менять классы то :global можно будет выбрасываться
источник

МТ

Марк Танащук... in Svelte [svelt]
Alexander Ponomarev
открой для себя цсс модули ну пожалуйста, набери в гугл
Я о том что если я использую даже 3-5 глобальных классов, то мне нужно в итоговом css дополнять вручную их
источник

МТ

Марк Танащук... in Svelte [svelt]
и в разметке скомпилированной тоже
источник

a

akaSybe in Svelte [svelt]
поэтому например, на мой взгляд, и нельзя использовать :global чтобы из родителя стилизовать ребенка, т.к. появляется еще одна точка коллизии стилей
источник

a

akaSybe in Svelte [svelt]
(в условиях встраиваемого на страницу приложения, где еще и другие стили есть)
источник

AP

Alexander Ponomarev in Svelte [svelt]
akaSybe
поэтому например, на мой взгляд, и нельзя использовать :global чтобы из родителя стилизовать ребенка, т.к. появляется еще одна точка коллизии стилей
Рич предлагает тебе описать переменные для всех комбинаций марджинов =) даже рфс написал
источник

МТ

Марк Танащук... in Svelte [svelt]
Например я вручную вставил кусок html кода из tailwind, который подключен глобально в index.html

Мне в компоненте нужно одновременно иметь и скоупнутые классы(.svelte-hash без названия класса) и глобальные(p24 и т.д.)
источник

МТ

Марк Танащук... in Svelte [svelt]
В итоге приходим к обёрткам разметки от которых убегали
источник

МТ

Марк Танащук... in Svelte [svelt]
Если одна фича противодействует другой то это плохая архитектура 🤔

Я про :global и возможность использования global.css
источник

a

akaSybe in Svelte [svelt]
использовать :global сам по себе в svelte - ХОРОШО, он нужен для интеграции с third-party библиотеками (tailwind)
источник

МТ

Марк Танащук... in Svelte [svelt]
akaSybe
использовать :global сам по себе в svelte - ХОРОШО, он нужен для интеграции с third-party библиотеками (tailwind)
Так а как при подходе когда мы полностью убираем названия классов из итогового css оставить глобальные классы?
источник

МТ

Марк Танащук... in Svelte [svelt]
Они же не сгенерятся все равно
источник

МТ

Марк Танащук... in Svelte [svelt]
Наверное это было одной из причин которые остановили ментейнеров от такой фичи - конфликт с основной веткой
источник