玉缩进错误

时间:2013-08-20 19:39:12

标签: javascript express sublimetext2 pug indentation

所以对于我的Express网站,我正在使用玉器。所以我决定尝试修改我的布局文件,以便开始设计我的网站。我修改了原始布局代码(有效),但我开始在任何扩展布局的文件中得到缩进错误:

500 Error: /home/kevin/Blue/views/layout.jade:6 4| p Hello World Invalid indentation, you can use tabs or spaces but not both
4| p Hello World
Invalid indentation, you can use tabs or spaces but not both
at Object.Lexer.indent (/home/kevin/Blue/node_modules/jade/lib/lexer.js:679:15)
at Object.Lexer.next (/home/kevin/Blue/node_modules/jade/lib/lexer.js:777:15)
at Object.Lexer.lookahead (/home/kevin/Blue/node_modules/jade/lib/lexer.js:107:46)
at Object.Parser.lookahead (/home/kevin/Blue/node_modules/jade/lib/parser.js:115:23)
at Object.Parser.peek (/home/kevin/Blue/node_modules/jade/lib/parser.js:92:17)
at Object.Parser.tag (/home/kevin/Blue/node_modules/jade/lib/parser.js:640:22)
at Object.Parser.parseTag (/home/kevin/Blue/node_modules/jade/lib/parser.js:624:17)
at Object.Parser.parseExpr (/home/kevin/Blue/node_modules/jade/lib/parser.js:198:21)
at Object.Parser.block (/home/kevin/Blue/node_modules/jade/lib/parser.js:592:25)
at Object.Parser.tag (/home/kevin/Blue/node_modules/jade/lib/parser.js:721:26)

所以我的代码是:

index.jade

extends layout

block content
    p Hello World

doctype 5
html
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')

    body
        div#header
            p This is the header
        block content

请记住,我没有拼写错误,我知道如何使用extends选项将文件链接在一起就好了。事实上,代码工作得很好,直到我开始搞乱布局文件。所有这些主要是一个缩进问题。我试着搞清楚它是否是我的文本编辑器导致问题,而且我一直没有成功搞清楚它是否是,因为我无法让代码再次运行。

我正在使用sublime text 2编辑器来编写这个jade代码。如果文本编辑器没有正确缩进,有人可以帮我学习如何解决它吗?

3 个答案:

答案 0 :(得分:52)

在Sublime Text的右下角,应该有一个标签Spaces: NTab Size: N,其中N是一个数字。选择此选项,您将看到将整个文档的缩进转换为使用制表符或空格的选项:

  • Convert Indentation to Spaces
  • Convert Indentation to Tabs

答案 1 :(得分:0)

用于server.js文件集变量的编辑表单,如下所示

var applications = row;
res.render("edit", { applications : applications[0] }); 

用于edit.jade文件:

block content
table
    thead
      tr
        th First Name
        th Last Name
    tbody
      - each item in applications
        tr
          td= item.username
          td= item.email

答案 2 :(得分:0)

此答案是对AndréDion的回答的扩展(我没有足够的声誉来评论他的帖子)。一个人也可以直接执行Visual Studio Code中描述的相同过程。如果您在Visual Studio Code中使用Pug,它将非常不错。