Я пытаюсь импортировать Bootstrap 4 файл bootstrap .s css, как описано в документации Bootstrap . Моя IDE это PyCharm. Моя конечная цель - переопределить цвета Bootstrap 4, импортировав bootstrap и переписав определенные аспекты, которые я хочу.
Проблема в том, что я не могу импортировать bootstrap.scss
в мой файл custom.scss
относительно каталога node_modules
в моем проекте.
Вот структура моего проекта:
learnsass
- learnsass <-- main Django project files (ex: settings.py)
- myapp
- static
- myapp
- css
- custom.scss <-- file I'm trying to import bootstrap from
- custom.css <-- automatically generated from file watcher
- custom.css.map <-- automatically generated from file watcher
- ...
- node_modules
- bootstrap
- dist
- js
- scss
- bootstrap.scss <-- the bootstrap scss I'm trying to import in custom.scss
- ...
- jquery
- popper.js
- static
- templates
- venv
- db.sqlite3
- manage.py
- package.json
- package-lock.json
custom.s css
My custom.s Файл css выглядит следующим образом.
$theme-colors: (
"primary": #cccccc,
"danger": #840383,
);
@import "~bootstrap/scss/bootstrap";
Терминал с выходным сообщением показывает «Ошибка: не удается найти таблицу стилей для импорта».
cmd.exe /D /C call C:\Users\Jarad\AppData\Roaming\npm\sass.cmd custom.scss:custom.css
Error: Can't find stylesheet to import.
╷
5 │ @import "~bootstrap/scss/bootstrap";
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
╵
custom.scss 5:9 root stylesheet
Process finished with exit code 65
Я пробовал установить node_modules
root в качестве каталога "Resource Root". Я даже пытался установить его подкаталоги как «Resource Root» или «Sources Root», но ни одна комбинация, которую я пробовал, не сработала.
В PyCharm я создал File Watcher, поэтому s css автоматически компилируется в пользовательские. css. Это были мои настройки там. Может быть, я здесь что-то не так делаю?
Я нашел одно решение, которое работает (используйте полный абсолютный путь)
I заметил, что если я использую полный абсолютный путь на моей машине Windows (см. ниже), он действительно работает (пользовательский файл. css генерируется со всеми Bootstrap css):
$theme-colors: (
"primary": #cccccc,
"danger": #840383,
);
@import "C:/Users/Jarad/Documents/PyCharm/learnsass/node_modules/bootstrap/scss/bootstrap.scss";
Но мне бы очень хотелось ПОНИМАТЬ, почему он не импортирует, используя относительные / sass / s css общие практики. Я не ищу быстрых решений или чего-то хакерского. Кроме того, полный импорт абсолютных URL-адресов - довольно хрупкая вещь.