jade文件中的意外标记“缩进”

时间:2013-12-03 15:06:30

标签: node.js pug

我使用node.js express获得了jade个应用。我使用jade mixins。我编辑了jade文件,之后在44 line上出现错误:

unexpected token "indent"
42| -i++
43|
> 44| include select
45|
46| mixin mainInputs()

select jade文件位于目标mixin的同一目录中。

在图片上,您可以看到line 44

上没有额外的间距(崇高点符号)

peace of code where I got error unexpected token "indent"

我已经在Indentation: Convert to Spaces中运行了sublime text 3命令,但遇到了同样的错误。

我尝试将文件select.jade重命名为selectFile.jade以排除与select html标记的混淆,但仍然遇到相同的错误。

更新

我独立测试select.jade

select.jade:3
    1| include labelFor
    2| mixin select(id, text, placeholder)            
  > 3|     mixin labelFor(id, text)
    4|     select(id="#{id}", name="#{text}", data-placeholder="#{placeholder}")
    5|         option
    6| 

unexpected token "indent"

然后我测试了labelFor.jade

mixin labelFor(id, text)
    div
        div.label
            label(for="#{id}")= text
        br

labelFor.jade执行时没有错误。

我搜索了文件\t中的标签select.jade。但它只包含空格,没有标签。

1 个答案:

答案 0 :(得分:4)

问题在于行

后的额外空格
mixin select(id, text, placeholder)
文件select.jade中的

。 那是:

'include labelFor\nmixin select(id, text, placeholder)            \n    mixin labelFor(id, text)\n    select(id="#{id}", name="#{text}", data-placeholder="#{placeholder}")\n        option\n\n'

我把它改成后......

'include labelFor\nmixin select(id, text, placeholder)\n    mixin labelFor(id, text)\n    select(id="#{id}", name="#{text}", data-placeholder="#{placeholder}")\n        option\n\n'

...错误飞走了。