У меня нет фона в SCSS, но я хочу внести небольшое изменение в существующий SCSS и перекомпилировать его. Тем не менее, я обнаружил, что переменные со знаком доллара появляются в выходном CSS. Даже если я отброшу свои изменения, выходной CSS не соответствует оригиналу.SCSS частично скомпилирован, переменные остались в CSS?
Например,
@-webkit-keyframes $animation-name {...
в моем выходе, в то время как
@-webkit-keyframes move-up {...
является ожидаемый оригинальный выход.
Я думаю, что это либо потому, что я не использовал правильную команду для компиляции файлов SCSS, либо потому, что файлы SCSS были написаны для более старого компилятора.
Я попытался следующие команды (очистить все выходные перед каждым испытанием):
sass --scss main.scss main.css
sass --scss --update main.scss:main.css
sass --scss --update .
Поскольку main.scss импортирует другой файл SCSS, я также попытался скопировать содержимое файла в SCSS мере зависит основные. СКС. Это не имело никакого значения.
Это работает; Спасибо! Мне все еще интересно, как удалось скомпилировать оригинальный автор этой части SCSS - есть ли компилятор, который не требует интерполяции? – user31039
Это не ошибка, поэтому она будет компилироваться. Это просто, что строки кода имеют разные значения для sass. Когда переменная интерполируется, '# {$ animation-name}' вы говорите sass, чтобы использовать значение, хранящееся в этой переменной, вместо этого, но без интерполяции '$ animation-name' sass просто использует текст как есть. Однако, если имя переменной предоставляется там, где CSS ожидает _value_, это не требует интерполяции. 'selector {color: $ color_value}' –