Замена @import на @use и @forward, вызывающая ошибку «Этот модуль уже загружен, поэтому его нельзя настроить с помощью «CSS

Разбираемся в CSS
Ответить Пред. темаСлед. тема
Anonymous
 Замена @import на @use и @forward, вызывающая ошибку «Этот модуль уже загружен, поэтому его нельзя настроить с помощью «

Сообщение Anonymous »

TL;DR:
У меня проблемы с переходом с «@import» на «@use» и «@forward». Эту ошибку выдают компоненты, наследующие родительский элемент.
ДОЛГО:
У меня есть библиотека, представляющая собой набор компонентов. с аналогичными правилами. Некоторые компоненты являются просто расширениями других компонентов, поэтому они «наследуют» тот же код и переменные своих родителей и создают другой, отдельный компонент.
Приведем пример.
У меня есть базовый компонент SimpleButton и два компонента, расширяющие этот базовый компонент. Они называются ComplexButton и AdvancedButton.
Эти три компонента можно использовать как совершенно разные объекты и включать вместе на одной странице.
Я «импортирую» эти файлы:< /p>

Код: Выделить всё

@use "components/atoms/buttons/AdvancedButton.scss";
@use "components/atoms/buttons/ExpertButton.scss" with (
$color: red,
);
И AdvancedButton, и ExpertButton имеют «@use SimpleButton.scss как унаследованный» и «@forward SimpleButton.scss», поскольку многие переменные есть только в SimpleButton, но они широко используются в других 2.
Они @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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • В чем разница между @use и @forward в SASS?
    Anonymous » » в форуме CSS
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Ошибка при возврате app.use(foo): app.use() требует функции промежуточного программного обеспечения')
    Гость » » в форуме Javascript
    0 Ответы
    128 Просмотры
    Последнее сообщение Гость
  • PytestWarning: модуль уже импортирован, поэтому его нельзя переписать: pytest_remotedata
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как переодеться с @Import на @USE в SCSS
    Anonymous » » в форуме CSS
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как переодеться с @Import на @USE в SCSS
    Anonymous » » в форуме CSS
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

Вернуться в «CSS»