Size: a a a

2020 November 23

К

Константин in Svelte [svelt]
окей, напишу попозже )
источник

К

Константин in Svelte [svelt]
спасибо
источник

К

Константин in Svelte [svelt]
чёт гитхаб тормозит...
источник

ER

Eric Rovell in Svelte [svelt]
Долгое время откладывал, но настало время использовать css-модули😅

Никто не пользовался вот этим? Есть какой-либо официальный плагин? Я уже запутался что лучше взять...

https://github.com/micantoine/svelte-preprocess-cssmodules#why-css-modules-on-svelte
источник

AS

Andrey Sitnik in Svelte [svelt]
Eric Rovell
Долгое время откладывал, но настало время использовать css-модули😅

Никто не пользовался вот этим? Есть какой-либо официальный плагин? Я уже запутался что лучше взять...

https://github.com/micantoine/svelte-preprocess-cssmodules#why-css-modules-on-svelte
Вроде в Svelte есть собственная изоляция селекторов а-ля Vue.js
источник

AS

Andrey Sitnik in Svelte [svelt]
Svelte трансформирует .test в .test.svelte-jkusxd
источник

ER

Eric Rovell in Svelte [svelt]
Andrey Sitnik
Вроде в Svelte есть собственная изоляция селекторов а-ля Vue.js
Это немного не то, :global несёт другие цели.

Заметил, что часто пишу одни и те же стили для некоторых частей разметки.

Подумал, что можно внести в отдельный компонент. Но навесить его пропсами и потом этими пропсами вешать классы было просто адской болью.

Решил сделать модули, чтобы переиспользовать классы. Делал так в реакт и был очень счастлив😁
источник

AS

Andrey Sitnik in Svelte [svelt]
С одной стороны это не прямо очень хорошая изоляция (.test может быть объявлена в какой-то другой библиотеке), но по сравнению с CSS Modules, так можно изолироваться не только CSS классы, но и селекторы по аттрибутам или тегам
источник

AS

Andrey Sitnik in Svelte [svelt]
У меня принцип, что если ты пишешь похожий дизайн для разных компонентов, то тут самое время спросить себя — а одинаковы ли они семантически
источник

ER

Eric Rovell in Svelte [svelt]
Тут скорее, проблема в пепеиспользуемости стилей
источник

AS

Andrey Sitnik in Svelte [svelt]
Меняя один, нужно ли будет менять другой
источник

AS

Andrey Sitnik in Svelte [svelt]
если семантически одинаковые — то надо выносить прямо компонент
источник

AS

Andrey Sitnik in Svelte [svelt]
это и тестирование CSS упрощает с помощью сторибуков
источник

AS

Andrey Sitnik in Svelte [svelt]
Но если два блока выглядят похоже, но семантически разные вещи, то я бы лучше вынес в postcss/scss-примесь (см. postcss-mixins) или атом Tailwind
источник

ER

Eric Rovell in Svelte [svelt]
Andrey Sitnik
Но если два блока выглядят похоже, но семантически разные вещи, то я бы лучше вынес в postcss/scss-примесь (см. postcss-mixins) или атом Tailwind
Вот, это было бы похоже с модулем. Можно создать компонент и вешать нужный класс.
источник

AS

Andrey Sitnik in Svelte [svelt]
а зачем вешать класс? сделай прямо компонент и через props передавай лучше события
источник

AS

Andrey Sitnik in Svelte [svelt]
типа глупый компонент, который в себе объединяет только HTML и CSS
источник

AS

Andrey Sitnik in Svelte [svelt]
а события onClick ты передаёшь сверху
источник

AS

Andrey Sitnik in Svelte [svelt]
(недеюсь меня не заклюют за реакт-терминология :D)
источник

ER

Eric Rovell in Svelte [svelt]
Andrey Sitnik
типа глупый компонент, который в себе объединяет только HTML и CSS
Да, я наверняка что-то не так делаю.

У меня начало появляться несколько врапперов с флексами. Хотел сделать удобный компонент, и вешать классы пропсами. Но что-то мне код не понравился.

Делал похоже на css модулях в реакт. Компонент имел только разметку и слушатели и прочее. Стили же падали через модули пропсом.

Казалось, что очень упрощает жизнь и повышает переиспользование компонента в целом.
источник