我使用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
我已经在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
。但它只包含空格,没有标签。
答案 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'
...错误飞走了。