У меня проблемы с переходом с «@import» на «@use» и «@forward». Эту ошибку выдают компоненты, наследующие родительский элемент.
ДОЛГО:
У меня есть библиотека, представляющая собой набор компонентов. с аналогичными правилами. Некоторые компоненты являются просто расширениями других компонентов, поэтому они «наследуют» тот же код и переменные своих родителей и создают другой, отдельный компонент.
Приведем пример.
У меня есть базовый компонент SimpleButton и два компонента, расширяющие этот базовый компонент. Они называются ComplexButton и AdvancedButton.
Эти три компонента можно использовать как совершенно разные объекты и включать вместе на одной странице.
Я «импортирую» эти файлы:< /p>
Код: Выделить всё
@use "components/atoms/buttons/AdvancedButton.scss";
@use "components/atoms/buttons/ExpertButton.scss" with (
$color: red,
);
Они @use и @forward SimpleButton.scss (поскольку в нем есть все необходимые $переменные и которые мы можем изменить с помощью @use with)
Я получаю следующую ошибку:
"Этот модуль уже загружен, поэтому его нельзя настроить с помощью "with").
Читая документацию, говорится, что «@use with» используется «только один раз» и «в рамках всего проекта». Но я думал, что пространство имен и модули будут меньше. строгий и более пригодный для повторного использования.
С @import теперь устарела, я мог бы сделать все без проблем. Теперь я схожу с ума, потому что не вижу решения этой проблемы.
Если вам интересно, это библиотека, которой я являюсь. работаю (для чтения файлов md необходим vitepress):
https://github.com/Guebbit/scss-library/
Это открытый исходный код, бесплатный, как и библиотека Freedom, которую я хочу использовать на различных волонтерских проектах (объединена с другими подобными библиотеками)
Спасибо за ваше время и терпение. Я безоговорочно буду любить того, кто решит за меня эту проблему. Дайте мне решение, совет или лучший метод, который можно было бы использовать в этом случае.
Вы моя последняя надежда.
Подробнее здесь: https://stackoverflow.com/questions/778 ... ady-loaded