Я создал базовое приложение React, используя CRA и response-bootstrap.Я хотел бы загрузить различные bootswatch темы.Все темы загружаются и помещаются в папку src/themes
.Каждая тема имеет свою собственную папку с фиксированным набором имен файлов:
src/themes/
superhero/
_bootswatch.scss
_variables.scss
bootstrap.css
bootstrap.min.css
/cerulean
_bootswatch.scss
_variables.scss
bootstrap.css
bootstrap.min.css
and so on...
Теперь предположим, что я хочу загрузить тему супергероя.Это можно сделать разными способами, которые я покажу ниже:
Я переименовал index.css
CRA в index.scss
и добавил следующие строки в начало файла (у меня есть узел-sass установлен):
@import "./themes/superhero/variables";
@import "~bootstrap/scss/bootstrap";
@import "./themes/superhero/bootswatch";
Я добавляю следующую строку в index.js:
import './themes/superhero/bootstrap.min.css'
Оба эти метода работают нормально независимо.Я хочу импортировать их в index.js следующим образом:
import './themes/superhero/_variables.scss'
import 'bootstrap/scss/bootstrap.scss';
import './themes/superhero/_bootswatch.scss'
Когда я делаю это, первые две строки импортируются правильно, но я получаю неопределенные ошибки переменных, когдаэто касается третьего импорта, _bootswatch.scss
.Это потому, что первые два файла независимы.Я думаю, что в третьем файле есть зависимые переменные, но при каждом импорте они по-разному ограничены и, следовательно, последний импорт не имеет доступа к переменным.Это не относится к методу 1, все они импортируются в один файл, а затем node-sass заботится о них.
Есть идеи, как решить проблему?