В общем верстал все с bootstrap + jquery и все в статический файлах и примерно месяца 2 назад решил пойти дальше.
Начал изучать nodejs, сборщики (webpack, gulp) react, sass. Все круто, все нравится, удобно + интересно развиваться, но тема с компонентной версткой меня немного ставит в ступор.
Как раз на примере реакта хочу понять как лучше всего структурировать стили для компонентов.
Вот сегодня увидел крутую штуку - css модули. Это замечательно, но есть 2 момента, которые мне не очень нравятся.
1) Как я понял все стили идут в тег head документа а это меня не устраивает.
2) Нельзя использовать препроцессоры. Конечно в css модулях есть компрессы и можно включить некоторые фичи, например вложеность и т.д., но всех крутых возможностей как например фунцкии в css модулях нет.
Так вот, хочу понять как лучше всего работать со стилями без css модулей, например с sass.
Все что я сам смог придумать так это каждый sass файл ложить в папку с компонентом и импортировать его в общий файл sass.
Пример на реакте:
src/components/Button/Button.jsx
import React, { Component } from 'react';
export default class Button extends Component {
render() {
return (
<button type="button" className="button">
{children}
</button>
);
}
}
src/components/Button/Button.scss:
.button {
background-color: blue;
box-shadow: 0 0 3px rgba(0,0,0,.1);
padding: 5px 20px;
}
src/app.scss
import './components/Button/Button.scss';
Как-то так. Но, что-то мне подсказывает, что этот способ не очень то и хороший, даже если писать по БЭМУ чтобы оградить код от поломок с переопределением и т.д. то уж как то не уклюже постоянно импортировать scss файлы из компонентов в общий файл.
В общем хочу найти хороший способ компонентной верстки но у меня не получается найти информацию. Уверен что просто не правильно вбиваю в гугл, возможно есть еще какие-то термины о которых я не знаю.