2014-09-25 2 views
0

Извините за не очень описательный вопрос, но я не уверен, что еще сказать, он действительно сошел с ума.Sass/Compass не делает математику при компиляции

На моей машине установлен хрюкать-вно-компас, мой package.json имеет эту линию в этом ...

"хрюкать-вно-компас": "1.0.1",

Мой файл grunt работает правильно и компилирует мой SASS, но ни одна из математических работ не работает. Когда я беру на себя ответственность за Github и мой коллега, математика работает, хотя у него такая же настройка, как и я. Тот же файл grunt и такие же пакеты npm, установленные через установку npm.

Чтобы проверить работоспособность и то, что не работает, я установил следующий раздел в своем SASS. Я прокомментировал строки, которые хочу работать, остальные - только тестовые примеры.

$hSpace: (20px, 24px, 30px, 30px, 40px, 60px); 

.xxx{ 
    padding: 10px; 
    padding: 10px/2; 
    padding: 10/2; 
    padding: 10/2 * 1px; 
    padding: nth($hSpace, 3)/2; <---- This one 
    padding: nth($hSpace, 3); 
    padding: 30/2px; 
    padding: 30/2 * 1px; 
} 

Это выход, когда я запускаю хрюканье.

.xxx { 
    padding: 10px; 
    padding: 10px/2; 
    padding: 10/2; 
    padding: 5px; 
    padding: 30px/2;  <---- Produces this 
    padding: 30px; 
    padding: 30/2px; 
    padding: 15px; 
} 

и это то, на что похоже, когда мой коллега бежит хрюкать.

.xxx { 
    padding: 10px; 
    padding: 10px/2; 
    padding: 10/2; 
    padding: 5px; 
    padding: 15px;  <---- When it should produce this 
    padding: 30px; 
    padding: 30/2px; 
    padding: 15px; 
} 

Наши установки кажутся одинаковыми, поэтому я действительно не могу понять, почему мой компилятор не работает.

Действительно оценил бы любые идеи, даже если они просто догадки.

+0

Вы оба используете ту же версию Sass? Ранее у меня были проблемы, когда версия Sass не совместима с версией компаса. Что вызвало странные ошибки. – DavidT

+0

Невозможно воспроизвести это с помощью LibSass или Sass (3,4, 3,3 или 3,2) на http://sassmeister.com/. Возможно, это связано с: http://stackoverflow.com/questions/24552869/sass-do-math-operations-with-variables-containing-px – cimmanon

+0

Кроме того, вам действительно нужно найти подходящий заголовок здесь. – cimmanon

ответ

1

Я могу воспроизвести эту ошибку, используя номера версий, указанные в комментарии выше. Хотя я предлагаю вам проверить номера своих версий, как я предложил в комментариях, вы можете решить это, изменив /2 на * 0.5, который мне подсказывает, что версия пакетов, используемая вами, не совпадает с вашими коллегами и не поддерживает/имеют ошибку в синтаксисе разделительного кода.

$ hSpace: (20px, 24px, 30px, 30px, 40px, 60px);

.xxx{ 
    padding: 10px; 
    padding: 10px/2; 
    padding: 10/2; 
    padding: 10/2 * 1px; 
    padding: nth($hSpace, 3)/2; 
    padding: nth($hSpace, 3); 
    padding: 30/2px; 
    padding: 30/2 * 1px; 
} 

компилирует

.xxx { 
    padding: 10px; 
    padding: 10px/2; 
    padding: 10/2; 
    padding: 5px; 
    padding: 30px/2; 
    padding: 30px; 
    padding: 30/2px; 
    padding: 15px; 

} 

пока

.xxx{ 
    padding: 10px; 
    padding: 10px/2; 
    padding: 10/2; 
    padding: 10/2 * 1px; 
    padding: nth($hSpace, 3) * 0.5; 
    padding: nth($hSpace, 3); 
    padding: 30/2px; 
    padding: 30/2 * 1px; 
} 

компилирует

.xxx { 
    padding: 10px; 
    padding: 10px/2; 
    padding: 10/2; 
    padding: 5px; 
    padding: 15px; 
    padding: 30px; 
    padding: 30/2px; 
    padding: 15px; 
} 

который является то, что ваш коллега имеет.

Смежные вопросы