Статьи

Как эффективно поддерживать CSS в большом приложении

В этой статье я расскажу об одном из способов обеспечения поддержки CSS. Не воспринимайте это как единственно верный способ сделать это, я лишь расскажу, какой подход работает для меня и, как оказалось, хорошо масштабируется и распределяется между несколькими проектами.

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

Вам также может понравиться: Как справиться с проблемами CSS в IE, когда у вас нет идеи, как их исправить

Что мы имеем здесь? Для простоты у нас есть только одна общая библиотека компонентов и два разных приложения / продукта в организации. У нас есть два общих компонента как компонент даты и компонент планировщика. Они разработаны особым образом, и мы хотели бы дать им настраиваемое поведение, поэтому мы даже создали их.

В настоящее время в приложении A используется только компонент D ate, а в приложении B используются  оба компонента.

Какие вещи мы можем сделать, чтобы наши продукты выглядели одинаково? Конечно, стили должны быть разделены! Каждый компонент по умолчанию должен выглядеть одинаково, цвета в разных продуктах должны быть одинаковыми. Что мы можем сделать для этого? Прежде всего, я рекомендую использовать в любом проекте reset.css , вы можете найти много примеров в интернете, это один из них https://meyerweb.com/eric/tools/css/reset/ . После этого мы должны определить все стили / правила для всех компонентов в organisation.(css|less|sass) файле. 

 После завершения работы остальные компоненты должны содержать изолированные стили, чтобы их можно было повторно использовать в разных проектах и ​​не влиять на поведение настроенных или родительских компонентов. Одним из способов достижения этого является предоставление уникальных идентификаторов. Я приведу пример того, как сделать это с LESS:


МЕНЬШЕ