Стилус выдал мне ожидаемый отступ, получил отступ, но я понятия не имею, почему

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

black = #000

заменяется на:

colors = {
    'black': #000
     // and so on...
}

Затем я заменяю все вызовы переменных в коде (конечно), и все модули компилируются хорошо, кроме одного, это трассировка:

ParseError: ../../dopamine/components/_ui.styl:26
   22|     notice(clr: -colors['light-blue'])
   23|     color -colors['white']
   24|     font-weight bold
   25|     text-shadow 1px 1px 1px rgba(#000, .2)
 > 26|   
   27|   if type == "success"
   28|     notice(clr: -colors['green'])
   29|     color -colors['white']

expected "indent", got "outdent"

    at Parser.error (/usr/local/lib/node_modules/stylus/lib/parser.js:230:11)
    at Parser.expect (/usr/local/lib/node_modules/stylus/lib/parser.js:258:12)
    at Parser.block (/usr/local/lib/node_modules/stylus/lib/parser.js:741:12)
    at Parser.selector (/usr/local/lib/node_modules/stylus/lib/parser.js:1277:24)
    at Parser.property (/usr/local/lib/node_modules/stylus/lib/parser.js:1228:47)
    at Parser.ident (/usr/local/lib/node_modules/stylus/lib/parser.js:1183:25)
    at Parser.stmt (/usr/local/lib/node_modules/stylus/lib/parser.js:685:26)
    at Parser.statement (/usr/local/lib/node_modules/stylus/lib/parser.js:593:21)
    at Parser.block (/usr/local/lib/node_modules/stylus/lib/parser.js:753:21)
    at Parser [as if] (/usr/local/lib/node_modules/stylus/lib/parser.js:842:23)

Итак, я проверил основные распространенные опечатки и другие вещи, но я не понимаю проблемы... в последней версии все работало, и я просто изменил переменные, больше ничего не трогал. Код находится по следующим ссылкам:

модуль ошибок изменяемые настройки

Итак, спасибо за любой ответ!


person Nano    schedule 01.04.2014    source источник


Ответы (1)


К сожалению, при использовании хешей в качестве значений вам также необходимо использовать двоеточия. Итак, вместо

.best-thing-ever
  width 1234px
  color colors['white']
  font-size 23px

ты бы написал

.best-thing-ever
  width 1234px
  color: colors['white']
  font-size 23px

Обратите внимание, что двоеточие необходимо только для свойств, которые имеют хэши в качестве значений. Подробнее см. эту связанную проблему на GitHub.

person donut    schedule 07.08.2014