Как использовать оператор else в шаблоне jade?

#node.js #express

#node.js #выразить

Вопрос:

Новое в node.js . Я создал простой веб-сайт с помощью Express. Я добавил следующий текст в index.jade :

 raining = true
if(raining === true)    
    p It is raining. Take an umbrella!
else  
    p No rain. Take the bike!
  

Когда я прокомментировал последние два оператора, я получаю ожидаемый ответ: «Идет дождь. Возьми зонтик!»

Когда я включаю последние две строки, я получаю неожиданную ошибку токена:

 Unexpected token (57:0)

SyntaxError: Unexpected token (57:0)
at Parser.pp.raise (/home/ubuntu/workspace/node_modules/jade/node_modules/with/node_modules/acorn-globals/node_modules/acorn/dist/acorn.js:943:13)
at Parser.pp.unexpected (/home/ubuntu/workspace/node_modules/jade/node_modules/with/node_modules/acorn-globals/node_modules/acorn/dist/acorn.js:1503:8)
at Parser.pp.parseExprAtom (/home/ubuntu/workspace/node_modules/jade/node_modules/with/node_modules/acorn-globals/node_modules/acorn/dist/acorn.js:327:12)
at Parser.pp.parseExprSubscripts (/home/ubuntu/workspace/node_modules/jade/node_modules/with/node_modules/acorn-globals/node_modules/acorn/dist/acorn.js:216:19)
at Parser.pp.parseMaybeUnary (/home/ubuntu/workspace/node_modules/jade/node_modules/with/node_modules/acorn-globals/node_modules/acorn/dist/acorn.js:197:19)
at Parser.pp.parseExprOps (/home/ubuntu/workspace/node_modules/jade/node_modules/with/node_modules/acorn-globals/node_modules/acorn/dist/acorn.js:151:19)
at Parser.pp.parseMaybeConditional (/home/ubuntu/workspace/node_modules/jade/node_modules/with/node_modules/acorn-globals/node_modules/acorn/dist/acorn.js:133:19)
at Parser.pp.parseMaybeAssign (/home/ubuntu/workspace/node_modules/jade/node_modules/with/node_modules/acorn-globals/node_modules/acorn/dist/acorn.js:110:19)
at Parser.pp.parseExpression (/home/ubuntu/workspace/node_modules/jade/node_modules/with/node_modules/acorn-globals/node_modules/acorn/dist/acorn.js:86:19)
at Parser.pp.parseStatement (/home/ubuntu/workspace/node_modules/jade/node_modules/with/node_modules/acorn-globals/node_modules/acorn/dist/acorn.js:1750:23)
  

Не уверен, почему включение оператора else может вызвать ошибку. Любые предложения будут высоко оценены.

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

1. Можете ли вы предоставить фактический фрагмент кода. Было бы проще понять, где именно возникает ошибка.

2. Этот вопрос касается инструкции else в шаблоне jade, а не инструкции else в соответствующим образом отредактированном заголовке.

Ответ №1:

будьте осторожны с отступами:

вот пример

http://jsfiddle.net/heanfig/z8wn5qz9/

проверьте это по ссылке на jade

http://learnjade.com/tour/conditionals/

 - var raining = true
if raining == true
        p It is raining. Take an umbrella!
else
        p No rain. Take the bike!
  

или даже:

 | #{raining ? raining : 'man'}