当我尝试编译这个时:
doctype html
html(lang="en")
head
meta(http-equiv = "Content-Type " content ="text/html ;charset=utf-8")
title = category.name
body
h1 Сьпiс таварау
h2 Катэгорыi:
ul
for cat in cats
li: a(href='/goods/{{cat.id}}/') {{cat.name}}
endfor
h2 Тавары
table
tr
th Назва
th Есьць у наяунасьцi
for good in goods
tr
td a(href = '/goods/good/{{good.id}}/'){{good.name}}
endfor
我收到此错误:
Error: index.pug:10:7
8| h2 Катэгорыi:
9| ul
> 10| {% for cat in cats %}
--------------^
11| li: a(href='/goods/{{cat.id}}/') {{cat.name}}
12| endfor
13| h2 Тавары
unexpected text "{% fo"
at makeError (/home/ivan/Documents/node-v6.11.0-linux-x64/lib/node_modules/pug-cli/node_modules/pug-error/index.js:32:13)
at Lexer.error (/home/ivan/Documents/node-v6.11.0-linux-x64/lib/node_modules/pug-cli/node_modules/pug-lexer/index.js:58:15)
at Lexer.fail (/home/ivan/Documents/node-v6.11.0-linux-x64/lib/node_modules/pug-cli/node_modules/pug-lexer/index.js:1304:10)
at Lexer.advance (/home/ivan/Documents/node-v6.11.0-linux-x64/lib/node_modules/pug-cli/node_modules/pug-lexer/index.js:1364:15)
at Lexer.callLexerFunction (/home/ivan/Documents/node-v6.11.0-linux-x64/lib/node_modules/pug-cli/node_modules/pug-lexer/index.js:1319:23)
at Lexer.getTokens (/home/ivan/Documents/node-v6.11.0-linux-x64/lib/node_modules/pug-cli/node_modules/pug-lexer/index.js:1375:12)
at lex (/home/ivan/Documents/node-v6.11.0-linux-x64/lib/node_modules/pug-cli/node_modules/pug-lexer/index.js:12:42)
at Object.lex (/home/ivan/Documents/node-v6.11.0-linux-x64/lib/node_modules/pug-cli/node_modules/pug/lib/index.js:99:27)
at Function.loadString [as string] (/home/ivan/Documents/node-v6.11.0-linux-x64/lib/node_modules/pug-cli/node_modules/pug-load/index.js:44:24)
at compileBody (/home/ivan/Documents/node-v6.11.0-linux-x64/lib/node_modules/pug-cli/node_modules/pug/lib/index.js:86:18)
最初我认为这for cat in cats
通常会编译成
{% for cat in cats %}
,就像它与if
语句一样,但似乎 pug.js 需要一些更特殊的语法,我在 pugjs.org 上找不到,虽然这里Pugjs 官方网站上提供的语法是类似于我的:
for a in b
= a