Переменные SASS для переменных CSS (gulp-sass)

#css #node.js #variables #sass #gulp

Вопрос:

Я хочу изменить с помощью javascript некоторые переменные SASS/CSS, чтобы изменить цвет нескольких элементов. 😅

Как я могу отправлять переменные SASS в CSS в качестве переменных? Я попробовал это, как в документации Sass, но это дает мне ошибку при компиляции CSS.

Здесь ошибка:

 Error in plugin "sass" Message:
devsass_settings.sass Error: Invalid CSS after "$primary-color: #ff2aad;": 
expected 1 selector or at-rule, was "root: {"
    on line 5 of dev/sass/_settings.sass
    from line 1 of dev/sass/style.sass
    $primary-color: #ff2aad;
 

Вот мой дерзкий код:

 $primary-color: #ff2aad

:root
  --primary-color: #{$primary-color}
 

Я использую среду NodeJS с gulpfile.js.
Моя версия gulp-sass-4.1.0

Это пройдет, если я удалю эту часть:

 :root
      --primary-color: #{$primary-color}
 

Возможно, существует лучший способ манипулировать переменными SASS с помощью javascript. Если у кого-то есть идея или документация, это действительно поможет мне 😊


Обновление / Решение:

Я узнал, используя конвертер CSS в SASS, что мне нужно добавить перед :root элементом

Решение выглядит так в SASS:

 $primary_color: #ff2aad

:root
  --primary_color: #{$primary_color}

h1 
  color: var(primary_color: #ff2aad);
 

Я не нашел никакой документации по этому поводу, но она отлично работает без ошибок или проблем. 😊

Спасибо всем, кто пытался помочь. Ты Потрясающая 🤘

Комментарии:

1. Вы используете gulp-dart-sass вместо gulp-sass этого ? Это могло бы все исправить.

2.Я нашел решение с помощью конвертера CSS в SASS. Прежде :root чем я должен поставить . :root --primary_color: #{$primary_color} Я не нашел никаких документов об этом, но никаких ошибок или проблем. Кажется, все работает нормально. Но спасибо за помощь. Может быть, в gulp-dart-sass это будет работать без, но я думаю, мне не нужно загружать другой модуль npm ^^

3. gulp-dart-sass поддерживает @use , например, то, чего gulp-sass нет.

4. #{$основной цвет} потрясающе! Спасибо, что опубликовали находку.