玉 - 在玉文件的行x的文本之前缺少空间

nov*_*s12 35 pug

我正在制作基于Express的Web应用程序,每当有人访问此jade文件时,我都会收到以下错误:

Warning: missing space before text for line 28 of jade file "C:\x\app\view
s\login.jade"
Run Code Online (Sandbox Code Playgroud)

它也会为它发生的每一行吐出几次.

我看了看这些线条,我无法弄清楚它在抱怨什么.

我的玉文件如下:

doctype html
html
    head
        meta(charset='utf-8')
        link(href='style.css', rel='stylesheet')
    body
        .wrapper
            header.header
                a(href="/", style="color: #000000;")
                    h1(style="position: absolute; top: 30px;") Hello
            .middle
                .container
                    main.stream
                        p Login
                    main.name
                        form(id="login",    method="POST", action="/login")
                            table(cellspacing="15")
                                tr
                                    td Email
                                    td
                                        input(type='email', name='email' style="width: 250; height: 18px; border: 1px solid #999999; padding: 5px;")
                                tr
                                    td Password
                                    td
                                        input(type='password', name='password' style="width: 250; height: 18px; border: 1px solid #999999; padding: 5px;")
                                tr
                                    td
                                        input(style="width:75px;height:30px;", type="submit", value="Login")    

                aside.left-sidebar
                    main.dir
                        a(href="/") Home
                    main.dir
                        a(href="/signup")   Register                        
        footer.footer
            h3 Hello
            p This is a footer
Run Code Online (Sandbox Code Playgroud)

小智 41

在玉器中使用| 什么时候开始只有文字

错了 - >

td
  {{anything}}
  br
  Hello
Run Code Online (Sandbox Code Playgroud)

正确 - >

td
  | {{anything}}
  br
  | Hello
Run Code Online (Sandbox Code Playgroud)


Chr*_*ren 24

使用!{}语法时出现此错误并获得额外返回:

.row 
  !{marked(val)}
Run Code Online (Sandbox Code Playgroud)

应该:

.row !{marked(val)}
Run Code Online (Sandbox Code Playgroud)


kum*_*rsh 9

为什么在这个github问题中突出显示所有jade 似乎有效时会出现此问题.引用原始问题本身:

警告是因为!{}并且#{}是用于文本内插.即你必须在(侧)文本(块)开始.您应该使用=!=缓冲JavaScript表达式.

这意味着只有在现有文本块中进行插值时才会使用!{}#{}.这里有像咖啡脚本#{}插值的东西:

a = "Hi #{name}!"
Run Code Online (Sandbox Code Playgroud)

转换为(在javascript中)

a = "Hi " + name + "!";
Run Code Online (Sandbox Code Playgroud)

因此,在玉太,你将使用!{}!{}正在运行的文本(段落或字符串)内.要仅从变量输出字符串而不显式启动新的文本块,您可以使用=!=.

.row
  != marked(val)
.another-row
  = marked(val)
Run Code Online (Sandbox Code Playgroud)

另一种方法是显式启动一个新的文本块,如下所示:

.row 
  | !{marked(val)}

.another-row 
  | #{marked(val)}
Run Code Online (Sandbox Code Playgroud)


小智 3

我把你的代码复制到 Notepad++ 中,并打开“查看空白”。

第 28 行末尾有 4 个额外空格(此处显示为破折号):

input(style="width:75px;height:30px;", type="submit", value="Login")----
Run Code Online (Sandbox Code Playgroud)

此外,第 34 行在“Register”之后也有几个额外的空格。