8

所以对于我的 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)

所以我的代码是这样的:

索引.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 编辑器来编写这个玉代码。如果是文本编辑器没有正确缩进,有人可以帮我学习如何修复它吗?

4

3 回答 3

53

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

  • Convert Indentation to Spaces
  • Convert Indentation to Tabs
于 2013-08-20T19:44:48.743 回答
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
于 2016-12-16T10:33:32.500 回答
0

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

于 2018-10-24T12:47:22.370 回答