Пользовательский Bootstrap SCSS с компонентами React - PullRequest
0 голосов
/ 13 мая 2019

Я создаю приложение реагирования, созданное с помощью команды create-Reaction-app, используя bootstrap и Reaction-bootstrap У меня есть пользовательская тема, которая представляет собой пакет npm и на самом деле просто определяет некоторые переменные.

@myorg/theme/lib/scss/_variables.scss:

$theme-colors: (
 primary: #FFFF,
 // etc...
)

Затем я импортирую это в мою тему "site" перед импортом начальной загрузки:

/ SRC / index.scss:.

@import "~@myorg/theme/lib/scss/_variables.scss";
@import '~bootstrap/scss/bootstrap.scss';

Теперь я хотел бы иметь компоненты со своими специфическими стилями, основанными на начальной загрузке:

/ SRC / компоненты / MainLayout.scss:.

@import "~bootstrap/scss/_functions";
@import "~bootstrap/scss/_variables";
#sidebar {
  border-right: 1px solid $gray-400
}

Однако, когда я делаю это, он избавляется от цветов моей темы, поэтому я должен сделать это - / SRC / компоненты / MainLayout.scss:.

@import "../../index.scss";
#sidebar {
  border-right: 1px solid $gray-400
}

Это правильный способ сделать это? Кажется, что каждый раз, когда я делаю это, я записываю в документ все содержимое (bootstrap и все), и я буду делать это много для многих компонентов. Например, у меня есть другой компонент, в котором я хотел бы настроить CardColumns (на самом деле я не могу заставить это работать независимо от импорта):

 //@import ???? I need, functions, mixins, and variables from bootstrap
.card-columns {
  @include media-breakpoint-only(lg) {
    column-count: 10;
  }
  @include media-breakpoint-only(xl) {
    column-count: 10;
  }
}

Как правильно использовать scss-файлы начальной загрузки 4 в модульных компонентах реакции? Без раздувания размер загрузки.

1 Ответ

0 голосов
/ 14 мая 2019

Я бы создал 1 файл lib.scss, который будет содержать весь мой импорт из библиотеки, например это имя lib.scss

@import "~bootstrap/scss/bootstrap";
@import "~font-awesome/scss/font-awesome";

, тогда, когда я создаю новый модуль, такой как модуль администратора, я просто импортирую вот так

@import "./lib";
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...